CMS 3D CMS Logo

GEMDigiSimLink.h
Go to the documentation of this file.
1 #ifndef GEMOBJECTS_GEMDIGISIMLINK_H
2 #define GEMOBJECTS_GEMDIGISIMLINK_H
3 
4 #include <map>
8 
10 public:
11  GEMDigiSimLink(std::pair<unsigned int, int> digi,
12  Local3DPoint entryPoint,
13  LocalVector momentumAtEntry,
14  float timeOfFlight,
15  float energyLoss,
16  int particleType,
17  unsigned int detUnitId,
18  unsigned int trackId,
19  EncodedEventId eventId,
20  unsigned short processType) {
21  _entryPoint = entryPoint;
22  _momentumAtEntry = momentumAtEntry;
26  _detUnitId = detUnitId;
27  _trackId = trackId;
28  _eventId = eventId;
29  _processType = processType;
30  _digi = digi;
31  }
32 
34 
36 
37  unsigned int getStrip() const { return _digi.first; }
38  unsigned int getBx() const { return _digi.second; }
41  float getTimeOfFlight() const { return _timeOfFlight; }
42  float getEnergyLoss() const { return _energyLoss; }
43  int getParticleType() const { return _particleType; }
44  unsigned int getDetUnitId() const { return _detUnitId; }
45  unsigned int getTrackId() const { return _trackId; }
46  EncodedEventId getEventId() const { return _eventId; }
47  unsigned short getProcessType() const { return _processType; }
48 
49  inline bool operator<(const GEMDigiSimLink& other) const { return getStrip() < other.getStrip(); }
50 
51 private:
52  std::pair<unsigned int, int> _digi;
53 
57  float _energyLoss;
59  unsigned int _detUnitId;
60  unsigned int _trackId;
62  unsigned short _processType;
63 };
64 #endif
double timeOfFlight(DetId id, const CaloGeometry *geo, bool debug=false)
Definition: CaloSimInfo.cc:17