Analysis Software
Documentation for sPHENIX simulation 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 
15 class SvtxTrack;
16 class RawCluster;
17 
19 {
20  public:
21  // enums can be extended with new values, but values not altered
22 
23  enum PFLOWTYPE
24  {
25  UNASSIGNED = -1,
31  };
32 
34  ~ParticleFlowElement() override {}
35 
36  void identify(std::ostream& os = std::cout) const override;
37  int isValid() const override { return 0; }
38 
39  virtual unsigned int get_id() const { return 0xFFFFFFFF; }
40  virtual void set_id(unsigned int) { return; }
41 
42  virtual ParticleFlowElement::PFLOWTYPE get_type() const {return ParticleFlowElement::PFLOWTYPE::UNASSIGNED; }
43  virtual void set_type( ParticleFlowElement::PFLOWTYPE ) { return; }
44 
45  virtual float get_px() const { return NAN; }
46  virtual void set_px(float) { return; }
47 
48  virtual float get_py() const { return NAN; }
49  virtual void set_py(float) { return; }
50 
51  virtual float get_pz() const { return NAN; }
52  virtual void set_pz(float) { return; }
53 
54  virtual float get_e() const { return NAN; }
55  virtual void set_e(float) { return; }
56 
57  virtual SvtxTrack* get_track() const { return nullptr; }
58  virtual void set_track(SvtxTrack*) { return; }
59 
60  virtual std::vector<RawCluster*> get_eclusters() const { return std::vector<RawCluster*>(); }
61  virtual void set_eclusters(const std::vector<RawCluster*>&) { return; }
62 
63  virtual RawCluster* get_hcluster() const { return nullptr; }
64  virtual void set_hcluster(RawCluster*) { return; }
65 
66  virtual float get_p() const { return NAN; }
67  virtual float get_pt() const { return NAN; }
68  virtual float get_et() const { return NAN; }
69  virtual float get_eta() const { return NAN; }
70  virtual float get_phi() const { return NAN; }
71  virtual float get_mass() const { return NAN; }
72 
74 };
75 
76 #endif