ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ParticleFlowElement.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ParticleFlowElement.h
1 #ifndef PARTICLEFLOW_PARTICLEFLOWELEMENT_H
2 #define PARTICLEFLOW_PARTICLEFLOWELEMENT_H
3 
4 //===========================================================
8 //===========================================================
9 
10 #include <phool/PHObject.h>
11 
12 #include <cmath>
13 #include <iostream>
14 
16 {
17  public:
18  // enums can be extended with new values, but values not altered
19 
20  enum PFLOWTYPE
21  {
22  UNASSIGNED = -1,
28  };
29 
31  ~ParticleFlowElement() override {}
32 
33  void identify(std::ostream& os = std::cout) const override;
34  int isValid() const override { return 0; }
35 
36  virtual unsigned int get_id() const { return 0xFFFFFFFF; }
37  virtual void set_id(unsigned int) { return; }
38 
39  virtual ParticleFlowElement::PFLOWTYPE get_type() const {return ParticleFlowElement::PFLOWTYPE::UNASSIGNED; }
40  virtual void set_type( ParticleFlowElement::PFLOWTYPE ) { return; }
41 
42  virtual float get_px() const { return NAN; }
43  virtual void set_px(float) { return; }
44 
45  virtual float get_py() const { return NAN; }
46  virtual void set_py(float) { return; }
47 
48  virtual float get_pz() const { return NAN; }
49  virtual void set_pz(float) { return; }
50 
51  virtual float get_e() const { return NAN; }
52  virtual void set_e(float) { return; }
53 
54  virtual float get_p() const { return NAN; }
55  virtual float get_pt() const { return NAN; }
56  virtual float get_et() const { return NAN; }
57  virtual float get_eta() const { return NAN; }
58  virtual float get_phi() const { return NAN; }
59  virtual float get_mass() const { return NAN; }
60 
62 };
63 
64 #endif