CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DeDxHit.h
Go to the documentation of this file.
1 #ifndef TrackDeDxHits_H
2 #define TrackDeDxHits_H
3 
4 #include <cstdint>
5 #include <vector>
6 
7 namespace reco {
11  class DeDxHit {
12  public:
13  DeDxHit() {}
14 
15  DeDxHit(float ch, float mom, float len, uint32_t rawDetId)
16  : m_charge(ch), m_momentum(mom), m_pathLength(len), m_rawDetId(rawDetId) {}
17 
19  float charge() const { return m_charge; }
20 
22  float momentum() const { return m_momentum; }
23 
25  float pathLength() const { return m_pathLength; }
26 
28  uint32_t rawDetId() const { return m_rawDetId; }
29 
30  bool operator<(const DeDxHit &other) const { return m_charge < other.m_charge; }
31 
32  private:
33  // Those data members should be "compressed" once usage
34  // of ROOT/reflex precision specifier will be available in CMSSW
35  float m_charge;
36  float m_momentum;
37  float m_pathLength;
38  uint32_t m_rawDetId;
39  };
40 
41  typedef std::vector<DeDxHit> DeDxHitCollection;
42 
43 } // namespace reco
44 #endif
float charge() const
Return the angle and thick normalized, calibrated energy release.
Definition: DeDxHit.h:19
float m_pathLength
Definition: DeDxHit.h:37
std::vector< DeDxHit > DeDxHitCollection
Definition: DeDxHit.h:41
uint32_t rawDetId() const
Return the rawDetId.
Definition: DeDxHit.h:28
float m_momentum
Definition: DeDxHit.h:36
float momentum() const
Return the momentum of the trajectory at the interaction point.
Definition: DeDxHit.h:22
float pathLength() const
Return the path length.
Definition: DeDxHit.h:25
DeDxHit(float ch, float mom, float len, uint32_t rawDetId)
Definition: DeDxHit.h:15
uint32_t m_rawDetId
Definition: DeDxHit.h:38
bool operator<(const DeDxHit &other) const
Definition: DeDxHit.h:30
float m_charge
Definition: DeDxHit.h:35