ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ParticleFlowElementv1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ParticleFlowElementv1.h
1 #ifndef PARTICLEFLOW_PARTICLEFLOWELEMENTV1_H
2 #define PARTICLEFLOW_PARTICLEFLOWELEMENTV1_H
3 
4 //===========================================================
8 //===========================================================
9 
10 #include "TObject.h"
11 
12 #include <iostream>
13 #include <utility> // for pair, make_pair
14 
15 #include "ParticleFlowElement.h"
16 
18 {
19  public:
21  ~ParticleFlowElementv1() override {}
22 
23  // PHObject virtual overloads
24 
25  void identify(std::ostream& os = std::cout) const override;
26  void Reset() override;
27  int isValid() const override;
28 
29  // pflow element info
30 
31  ParticleFlowElement::PFLOWTYPE get_type() const override {return _type; }
32  void set_type( ParticleFlowElement::PFLOWTYPE type ) override { _type = type; }
33 
34  unsigned int get_id() const override { return _id; }
35  void set_id(unsigned int id) override { _id = id; }
36 
37  float get_px() const override { return _mom[0]; }
38  void set_px(float px) override { _mom[0] = px; }
39 
40  float get_py() const override { return _mom[1]; }
41  void set_py(float py) override { _mom[1] = py; }
42 
43  float get_pz() const override { return _mom[2]; }
44  void set_pz(float pz) override { _mom[2] = pz; }
45 
46  float get_e() const override { return _e; }
47  void set_e(float e) override { _e = e; }
48 
49  float get_p() const override;
50  float get_pt() const override;
51  float get_et() const override;
52  float get_eta() const override;
53  float get_phi() const override;
54  float get_mass() const override;
55 
56  private:
58  unsigned int _id;
59 
60  // particle flow type
62 
64  float _mom[3];
65 
67  float _e;
68 
70 };
71 
72 #endif