ATLAS Offline Software
FPGATrackSimHit.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef TRIGFPGATrackSimOBJECTS_FPGATrackSimHIT_H
4 #define TRIGFPGATrackSimOBJECTS_FPGATrackSimHIT_H
5 
25 #include <vector>
26 #include <ostream>
27 #include <memory>
28 
31 
32 #include <Rtypes.h>
33 #include "TMath.h"
34 
36 
37  // Some types are inclusive of others. For example, clustered implies mapped.
39 
41 {
42 public:
43 
45  // Constructors
46 
47  FPGATrackSimHit() = default;
48  virtual ~FPGATrackSimHit() = default;
49 
51  // Getters/Setters
52 
53  // --- Hit Type ---
55  void setDetType(SiliconTech detType) { m_detType = detType; }
56  void setDetectorZone(DetectorZone detZone) { m_detectorZone = detZone; }
57  HitType getHitType() const { return m_hitType; }
58  SiliconTech getDetType() const { return m_detType; }
60 
61  bool isMapped() const;
62  bool isClustered() const;
63  bool isReal() const; // ie not wildcard or guessed
64  bool isPixel() const { return m_detType == SiliconTech::pixel; }
65  bool isStrip() const { return m_detType == SiliconTech::strip; }
66  bool isBarrel() const { return m_detectorZone == DetectorZone::barrel; }
67  unsigned getDim() const { return isPixel() ? 2 : 1; } // TODO all calls of this should be replaced with a call to plane map
68  int getRoadID() const { return m_roadID; }
69 
70  // --- Unmapped Location ---
71  void setIdentifier(unsigned int v) { m_identifier = v; } // 32 bit (short) module identifier
72  void setIdentifierHash(unsigned v) { m_identifierHash = v; }
73  void setLayerDisk(unsigned v) { m_layer_disk = v; } // ITk layer number
74  void setSide(unsigned v) { m_side = v; }
75  void setPhysLayer(unsigned v); // Sets using the FPGATrackSim-defined physical layer index (see FPGATrackSimPlaneMap.h)
77  void setPhiModule(unsigned v) { m_phiModule = v; }
78  void setEtaWidth(unsigned v) { m_etaWidth = v; }
79  void setPhiWidth(unsigned v) { m_phiWidth = v; }
80  unsigned int getIdentifier() const { return m_identifier; } // 32 bit (short) module identifier
81  unsigned getIdentifierHash() const { return m_identifierHash; } // TODO note this might break things in the same way as getSide() a few lines below. If so, recomment.
82  unsigned getLayerDisk(bool old=false) const { if (old && isRemapped()) return m_layer_disk_old; else return m_layer_disk;} // ITk layer number
83  unsigned getSide() const { return m_side; } // strip side TODO note this has been uncommented on 4/20/21. If wrappers suddenly break, recomment this. Same for getIdentifierHash above.
84  unsigned getPhysLayer(bool old=false) const; // Returns the FPGATrackSim-defined physical layer index (see FPGATrackSimPlaneMap.h)
85  unsigned getEtaWidth() const { return m_etaWidth; }
86  unsigned getPhiWidth() const { return m_phiWidth; }
87  int getEtaModule(bool old=false) const { if (old && isRemapped()) return m_etaModule_old; else return m_etaModule; }
88  unsigned getPhiModule() const { return m_phiModule; }
89 
90  // --- Mapped Location ---
91  // NB: isMapped() should return true to access these members
92  void setLayer(unsigned v) { m_layer = v; } // This is the logical layer
93  void setSection(unsigned v) { m_section = v; }
94  int getLayer() const;
95  unsigned getSection() const;
96  void setRoadID(int roadID) { m_roadID = roadID; }
97 
98  // --- Local Coordinates ---
99  // The local coordinate is stored as an unsigned int, as in the hardware.
100  // To get the actual local coordinate, use the float getCoord functions instead.
101  void setPhiIndex(unsigned v) { m_phiIndex = v; }
102  void setEtaIndex(unsigned v) { m_etaIndex = v; }
105  void setPhiCoord(float v) { m_phiCoord = v; }
106  void setEtaCoord(float v) { m_etaCoord = v; }
107  unsigned getPhiIndex() const { return m_phiIndex; }
108  unsigned getEtaIndex() const { return m_etaIndex; }
109  float getCentroidPhiIndex() const { return m_centroidPhiIndex; }
110  float getCentroidEtaIndex() const { return m_centroidEtaIndex; }
111  float getPhiCoord() const { return m_phiCoord; }
112  float getEtaCoord() const { return m_etaCoord; }
113 
114  void setMaxPhiIndex(int v) { m_maxPhiIndex = v; }
115  void setMinPhiIndex(int v) { m_minPhiIndex = v; }
116  void setMaxEtaIndex(int v) { m_maxEtaIndex = v; }
117  void setMinEtaIndex(int v) { m_minEtaIndex = v; }
118  int getMaxPhiIndex() const { return m_maxPhiIndex; }
119  int getMinPhiIndex() const { return m_minPhiIndex; }
120  int getMaxEtaIndex() const { return m_maxEtaIndex; }
121  int getMinEtaIndex() const { return m_minEtaIndex; }
122 
123  float getPhiWindow() const { return m_phiWindow; }
124 
125  // Converts the hit into a spacepoint. Keeps copies of the local information.
126  void makeSpacepoint(float x, float y, float z, float window, FPGATrackSimHit& other, FPGATrackSimMultiTruth& new_truth);
127 
128  // Retrieves a (copy of) the original hit with the original local coordinates used to make a SP.
129  // If not a SP, returns a copy of this hit.
130  const FPGATrackSimHit getOriginalHit() const;
131 
132  // These return coordinates for the inner hit in the pair, if a SP
133  int getPairedEtaModule() const { return m_pairedEtaModule; }
134  unsigned getPairedPhiModule() const { return m_pairedPhiModule; }
135  unsigned getPairedSection() const { return m_pairedSection; }
136  unsigned getPairedLayer() const { return m_pairedLayer; }
137  unsigned getPairedPhysLayer() const { return m_pairedPhysLayer; }
140 
141  // These setters are used by FPGATrackSimPlaneMap to map hits that are SPs.
142  void setPairedLayer(unsigned v) { m_pairedLayer = v; }
143  void setPairedSection(unsigned v) { m_pairedSection = v; }
144 
145  // --- Global Coordinates ---
146  void setX(float v) { m_originalX = m_x; m_x = v; }
147  void setY(float v) { m_originalY = m_y; m_y = v; }
148  void setZ(float v) { m_originalZ = m_z; m_z = v; }
149  float getX() const { return m_x; }
150  float getY() const { return m_y; }
151  float getZ() const { return m_z; }
152  float getR() const { return TMath::Sqrt(m_x * m_x + m_y * m_y); } // This is cylindrical radius
153  float getGPhi() const { return TMath::ATan2(m_y, m_x); }
154  float getGCotTheta() const { return m_z / getR(); } // cot(theta) = z/r
155 
156  // --- Truth and Other ---
157  void setToT(unsigned v) { m_ToT = v; }
160  void setBarcodePt(float v) { m_barcode_pt = v; }
161  void setEventIndex(long v) { m_eventindex = v; }
162  void setParentageMask(unsigned long v) { m_parentage_mask = v; }
164  unsigned getToT() const { return m_ToT ;}
167  long getEventIndex() const { return m_eventindex; }
168  float getBarcodePt() const { return m_barcode_pt; }
169  unsigned long getParentageMask() const { return m_parentage_mask; }
170  const FPGATrackSimMultiTruth& getTruth() const { return m_truth; }
171 
172 
174  // Add information for creating the bytestream TV for ITk pixel and strip
175  // The current athena EDM is using ID bytestream encoders and these happens
176  // to have issues and we need to work around them to make TV
177  // Hence these special function - Please talk to Haider [sabidi@cern.ch]
178  // If these need to functions are being used anywhere outside bytestream encoders
179 
180  bool isValidForITkHit() const {return m_isValidForITK;}
184 
189 
190  int getCluster1ID() const {return m_clusterIndex1ForFPGA;}
192 
193  int getCluster2ID() const {return m_clusterIndex2ForFPGA;}
195 
196  // methods for hit cluster equiv
197  const std::vector<int>& getPhiIndexVec() const { return m_PhiIndexVec;}
198  const std::vector<int>& getEtaIndexVec() const { return m_EtaIndexVec;}
199  const std::vector<unsigned>& getIDHashVec() const { return m_IDhashVec;}
200 
201  void addPhiIndexToVec(int phi) {m_PhiIndexVec.push_back(phi);}
202  void addEtaIndexToVec(int eta) {m_EtaIndexVec.push_back(eta);}
203  void addIDHashToVec(unsigned id) {m_IDhashVec.push_back(id);}
205  // Other Interface
206 
207  friend std::ostream& operator<<(std::ostream&, const FPGATrackSimHit&);
208 
209  //remap interface
210  bool isRemapped() const;
211  void setRemap();
212 
213 protected:
214 
215  // --- Hit Type ---
217  DetectorZone m_detectorZone = DetectorZone::undefined; // barrel / posEC / negEC (0,1,2)
219 
220  // --- Unmapped Location ---
221  unsigned int m_identifier = 0; // Global module ID, from offline (32 bit variant)
222  unsigned m_identifierHash = 0; // Global module ID hash, from ITk
223  unsigned m_layer_disk = 0; // ITk layer number
224  unsigned m_layer_disk_old = 0; // ITk layer number
225  unsigned m_side = 0; // Side of the strip module
226  unsigned m_side_old = 0; // Side of the strip module
227  int m_etaModule = 0; // eta index of the module that the hit is located on
228  int m_etaModule_old = 0; // eta index of the module that the hit is located on
229  unsigned m_phiModule = 0; // phi index of the module that the hit is located on
230  unsigned m_etaWidth = 0; // clustering width along eta
231  unsigned m_phiWidth = 0; // clustering width in phi direction
232 
233  // --- Mapped Location ---
234  // isMapped() should return true to access these members
235  int m_layer = -1; // Logical layer this hit is on
236  int m_section = -1; // Index of detector element in the logical layer (see FPGATrackSimPlaneMap.h)
237 
238  // --- Map Tag
239  bool m_isRemapped = false;
240  // --- Local Coordinates ---
241  int m_phiIndex = -1; // phi index for pixel, strip for strip
242  int m_etaIndex = -1; // eta index for pixel, row for strip
243  float m_centroidPhiIndex = -1; // centroid's phi index for pixel, strip for strip
244  float m_centroidEtaIndex = -1; // centroid's eta index for pixel, row for strip
245  float m_phiCoord = -999; // local position along phi direction
246  float m_etaCoord = -999; // local position along eta direction
247 
248  // --- Min/Max Indices used for cluster equivalent to estimate widths ---
253 
254  // --- Global Coordinates ---
255  float m_x = 0; // Hit position in global coordinates
256  float m_y = 0;
257  float m_z = 0;
258 
259  // Original X/Y/Z coordinates, if this is a spacepoint
260  float m_originalX = 0;
261  float m_originalY = 0;
262  float m_originalZ = 0;
263 
264  // Phi window used in spacepoint calculation
265  float m_phiWindow = 0;
266 
267  // These are the coordinates of the inner layer in a SP
268  unsigned m_pairedPhiModule = -1;
270 
271  // These are the unmapped / physical detector coordinates of the SP inner layer.
272  DetectorZone m_pairedDetZone = DetectorZone::undefined; // barrel / posEC / negEC (0,1,2)
274  unsigned m_pairedPhysLayer = 0;
275 
276  // These are the mapped versions of the inner layer in a SP.
277  unsigned m_pairedSection = 0;
278  unsigned m_pairedLayer = 0;
279 
280  // --- Truth and Other ---
281  unsigned m_hw_word = 0; // store Strip and Pixel cluster positions as integers using the same FPGATrackSim_IM HW definition
282  unsigned m_ToT = 0; // time over Threshold
283  long m_eventindex = 0; // athena event index assigned to this channel
284  HepMcParticleLink::barcode_type m_barcode = 0; // geant particle barcode assigned to this channel
286  float m_barcode_pt = 0; // maximum 'pt' for any 'good' geant particle contributing to the channel.
287  // corresponds to the particle with m_barcode
288  unsigned long m_parentage_mask = 0; // ancestor information of this channel
289 
291  // geant truth data (clusters only). filled during clustering using the m_barcode and
292  // m_barcode_frac data for each raw hit in the cluster.
293 
294 
295  // For ITk EDM encoding
296  int m_clusterIndex1ForFPGA = -1; // Index1 to keep a track of all the clusters used in track in FPGA
297  int m_clusterIndex2ForFPGA = -1; // Index2 to keep a track of all the clusters used in track in FPGA
298 
299  bool m_isValidForITK = false; // Should this hit be used for ITk EDM testing
300  int m_stripRowinITKEDM = -1; // Strip hit row ID in ITk EDM format
301  int m_stripChipinITKEDM = -1; // Strip chip ID in ITk EDM format
302  int m_stripHitMapinITKEDM = -1; // Strip hit map in ITk EDM format
303 
304 
305  int m_roadID = 0;
306 
307  std::vector<unsigned> m_IDhashVec; // for a cluster, when we get the equivalent hit info we want to store all the ID hash containing it
308  std::vector<int> m_PhiIndexVec; // for a cluster, all the phi indices in it
309  std::vector<int> m_EtaIndexVec; // for a cluster, all the eta indices in it
311 };
312 
313 // Container of <FPGATrackSimHit const *>
314 template <class Container>
315 std::vector<std::vector<std::shared_ptr<const FPGATrackSimHit>>> sortByLayer(Container const& hits)
316 {
317  std::vector<std::vector<std::shared_ptr<const FPGATrackSimHit>>> out;
318  for (auto const &hit : hits)
319  {
320  size_t layer = hit->getLayer();
321  if (layer >= out.size()) out.resize(layer + 1);
322  out[layer].push_back(hit);
323  }
324  return out;
325 }
326 
327 
328 std::ostream& operator<<(std::ostream& os, HitType t);
329 std::string to_string(HitType t);
330 
331 #endif // FPGATrackSimHIT_H
332 
FPGATrackSimHit::m_detType
SiliconTech m_detType
Definition: FPGATrackSimHit.h:218
FPGATrackSimHit::getSection
unsigned getSection() const
Definition: FPGATrackSimHit.cxx:92
FPGATrackSimHit::getEventIndex
long getEventIndex() const
Definition: FPGATrackSimHit.h:167
FPGATrackSimHit::getPhiModule
unsigned getPhiModule() const
Definition: FPGATrackSimHit.h:88
FPGATrackSimHit::getSide
unsigned getSide() const
Definition: FPGATrackSimHit.h:83
FPGATrackSimHit::m_identifier
unsigned int m_identifier
Definition: FPGATrackSimHit.h:221
FPGATrackSimHit::setSection
void setSection(unsigned v)
Definition: FPGATrackSimHit.h:93
FPGATrackSimHit::m_barcode
HepMcParticleLink::barcode_type m_barcode
Definition: FPGATrackSimHit.h:284
FPGATrackSimHit::m_clusterIndex1ForFPGA
int m_clusterIndex1ForFPGA
Definition: FPGATrackSimHit.h:296
FPGATrackSimHit::getEtaIndexVec
const std::vector< int > & getEtaIndexVec() const
Definition: FPGATrackSimHit.h:198
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
SiliconTech::strip
@ strip
FPGATrackSimHit::getEtaModule
int getEtaModule(bool old=false) const
Definition: FPGATrackSimHit.h:87
FPGATrackSimHit::isStrip
bool isStrip() const
Definition: FPGATrackSimHit.h:65
FPGATrackSimHit::getToT
unsigned getToT() const
Definition: FPGATrackSimHit.h:164
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
HitType::extrapolated
@ extrapolated
FPGATrackSimHit::setStripRowIDForITk
void setStripRowIDForITk(int v)
Definition: FPGATrackSimHit.h:186
FPGATrackSimHit::isClustered
bool isClustered() const
Definition: FPGATrackSimHit.cxx:28
FPGATrackSimHit::m_centroidEtaIndex
float m_centroidEtaIndex
Definition: FPGATrackSimHit.h:244
FPGATrackSimHit::getMaxPhiIndex
int getMaxPhiIndex() const
Definition: FPGATrackSimHit.h:118
FPGATrackSimHit::m_stripHitMapinITKEDM
int m_stripHitMapinITKEDM
Definition: FPGATrackSimHit.h:302
FPGATrackSimHit::setMinEtaIndex
void setMinEtaIndex(int v)
Definition: FPGATrackSimHit.h:117
FPGATrackSimHit::setEtaIndex
void setEtaIndex(unsigned v)
Definition: FPGATrackSimHit.h:102
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
FPGATrackSimHit::setisValidForITkHit
void setisValidForITkHit(bool v)
Definition: FPGATrackSimHit.h:185
FPGATrackSimHit::setPhiCoord
void setPhiCoord(float v)
Definition: FPGATrackSimHit.h:105
FPGATrackSimHit::setIdentifierHash
void setIdentifierHash(unsigned v)
Definition: FPGATrackSimHit.h:72
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
FPGATrackSimHit::getPairedSection
unsigned getPairedSection() const
Definition: FPGATrackSimHit.h:135
FPGATrackSimHit::getMinPhiIndex
int getMinPhiIndex() const
Definition: FPGATrackSimHit.h:119
FPGATrackSimHit::getLayerDisk
unsigned getLayerDisk(bool old=false) const
Definition: FPGATrackSimHit.h:82
FPGATrackSimHit::m_EtaIndexVec
std::vector< int > m_EtaIndexVec
Definition: FPGATrackSimHit.h:309
FPGATrackSimHit::setCentroidPhiIndex
void setCentroidPhiIndex(float v)
Definition: FPGATrackSimHit.h:103
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
FPGATrackSimHit::m_originalY
float m_originalY
Definition: FPGATrackSimHit.h:261
FPGATrackSimHit::getX
float getX() const
Definition: FPGATrackSimHit.h:149
to_string
std::string to_string(HitType t)
Definition: FPGATrackSimHit.cxx:166
FPGATrackSimHit::getBarcodePt
float getBarcodePt() const
Definition: FPGATrackSimHit.h:168
FPGATrackSimHit::getPhiIndexVec
const std::vector< int > & getPhiIndexVec() const
Definition: FPGATrackSimHit.h:197
FPGATrackSimHit::isReal
bool isReal() const
Definition: FPGATrackSimHit.cxx:40
operator<<
std::ostream & operator<<(std::ostream &os, HitType t)
Definition: FPGATrackSimHit.cxx:182
FPGATrackSimHit::setMaxEtaIndex
void setMaxEtaIndex(int v)
Definition: FPGATrackSimHit.h:116
FPGATrackSimHit::getPairedDetType
SiliconTech getPairedDetType() const
Definition: FPGATrackSimHit.h:139
FPGATrackSimHit::m_eventindex
long m_eventindex
Definition: FPGATrackSimHit.h:283
FPGATrackSimHit::ClassDefNV
ClassDefNV(FPGATrackSimHit, 14)
FPGATrackSimHit::isValidForITkHit
bool isValidForITkHit() const
Definition: FPGATrackSimHit.h:180
FPGATrackSimHit::m_stripChipinITKEDM
int m_stripChipinITKEDM
Definition: FPGATrackSimHit.h:301
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:70
FPGATrackSimHit::addEtaIndexToVec
void addEtaIndexToVec(int eta)
Definition: FPGATrackSimHit.h:202
FPGATrackSimHit::getMaxEtaIndex
int getMaxEtaIndex() const
Definition: FPGATrackSimHit.h:120
FPGATrackSimHit::getIDHashVec
const std::vector< unsigned > & getIDHashVec() const
Definition: FPGATrackSimHit.h:199
FPGATrackSimHit::getPairedLayer
unsigned getPairedLayer() const
Definition: FPGATrackSimHit.h:136
FPGATrackSimHit::m_pairedEtaModule
int m_pairedEtaModule
Definition: FPGATrackSimHit.h:269
FPGATrackSimHit::setEtaWidth
void setEtaWidth(unsigned v)
Definition: FPGATrackSimHit.h:78
FPGATrackSimHit::setSide
void setSide(unsigned v)
Definition: FPGATrackSimHit.h:74
FPGATrackSimHit::getCluster2ID
int getCluster2ID() const
Definition: FPGATrackSimHit.h:193
FPGATrackSimHit::makeSpacepoint
void makeSpacepoint(float x, float y, float z, float window, FPGATrackSimHit &other, FPGATrackSimMultiTruth &new_truth)
Definition: FPGATrackSimHit.cxx:98
HitType::spacepoint
@ spacepoint
FPGATrackSimMultiTruth.h
FPGATrackSimHit::getLayer
int getLayer() const
Definition: FPGATrackSimHit.cxx:87
FPGATrackSimHit::getDim
unsigned getDim() const
Definition: FPGATrackSimHit.h:67
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
FPGATrackSimHit::setY
void setY(float v)
Definition: FPGATrackSimHit.h:147
FPGATrackSimHit::m_identifierHash
unsigned m_identifierHash
Definition: FPGATrackSimHit.h:222
FPGATrackSimHit::~FPGATrackSimHit
virtual ~FPGATrackSimHit()=default
FPGATrackSimHit::setDetectorZone
void setDetectorZone(DetectorZone detZone)
Definition: FPGATrackSimHit.h:56
FPGATrackSimHit::m_hitType
HitType m_hitType
Definition: FPGATrackSimHit.h:216
x
#define x
HitType::guessed
@ guessed
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
HitType::undefined
@ undefined
FPGATrackSimHit::m_etaCoord
float m_etaCoord
Definition: FPGATrackSimHit.h:246
FPGATrackSimHit::m_pairedDetZone
DetectorZone m_pairedDetZone
Definition: FPGATrackSimHit.h:272
FPGATrackSimHit::m_y
float m_y
Definition: FPGATrackSimHit.h:256
FPGATrackSimHit::m_side_old
unsigned m_side_old
Definition: FPGATrackSimHit.h:226
FPGATrackSimHit
Definition: FPGATrackSimHit.h:41
FPGATrackSimHit::getGPhi
float getGPhi() const
Definition: FPGATrackSimHit.h:153
FPGATrackSimHit::setMaxPhiIndex
void setMaxPhiIndex(int v)
Definition: FPGATrackSimHit.h:114
Container
storage of the time histories of all the cells
FPGATrackSimHit::m_etaWidth
unsigned m_etaWidth
Definition: FPGATrackSimHit.h:230
HitType::wildcard
@ wildcard
FPGATrackSimHit::m_centroidPhiIndex
float m_centroidPhiIndex
Definition: FPGATrackSimHit.h:243
FPGATrackSimHit::getTruth
const FPGATrackSimMultiTruth & getTruth() const
Definition: FPGATrackSimHit.h:170
FPGATrackSimHit::setUniqueID
void setUniqueID(const HepMcParticleLink::barcode_type &v)
Definition: FPGATrackSimHit.h:159
FPGATrackSimHit::getIdentifier
unsigned int getIdentifier() const
Definition: FPGATrackSimHit.h:80
FPGATrackSimHit::getPhiCoord
float getPhiCoord() const
Definition: FPGATrackSimHit.h:111
FPGATrackSimHit::isRemapped
bool isRemapped() const
Definition: FPGATrackSimHit.cxx:20
FPGATrackSimHit::getStripChipIDForITk
int getStripChipIDForITk() const
Definition: FPGATrackSimHit.h:182
FPGATrackSimHit::m_pairedPhysLayer
unsigned m_pairedPhysLayer
Definition: FPGATrackSimHit.h:274
FPGATrackSimHit::getPairedEtaModule
int getPairedEtaModule() const
Definition: FPGATrackSimHit.h:133
FPGATrackSimHit::setDetType
void setDetType(SiliconTech detType)
Definition: FPGATrackSimHit.h:55
FPGATrackSimHit::setMinPhiIndex
void setMinPhiIndex(int v)
Definition: FPGATrackSimHit.h:115
FPGATrackSimHit::setX
void setX(float v)
Definition: FPGATrackSimHit.h:146
FPGATrackSimHit::m_hw_word
unsigned m_hw_word
Definition: FPGATrackSimHit.h:281
FPGATrackSimHit::setToT
void setToT(unsigned v)
Definition: FPGATrackSimHit.h:157
FPGATrackSimHit::m_uniqueID
HepMcParticleLink::barcode_type m_uniqueID
Definition: FPGATrackSimHit.h:285
FPGATrackSimHit::setPhiIndex
void setPhiIndex(unsigned v)
Definition: FPGATrackSimHit.h:101
FPGATrackSimHit::getPhiIndex
unsigned getPhiIndex() const
Definition: FPGATrackSimHit.h:107
SiliconTech
SiliconTech
Definition: FPGATrackSimTypes.h:25
FPGATrackSimHit::m_isValidForITK
bool m_isValidForITK
Definition: FPGATrackSimHit.h:299
z
#define z
FPGATrackSimHit::m_etaIndex
int m_etaIndex
Definition: FPGATrackSimHit.h:242
FPGATrackSimHit::getOriginalHit
const FPGATrackSimHit getOriginalHit() const
Definition: FPGATrackSimHit.cxx:131
FPGATrackSimHit::m_phiCoord
float m_phiCoord
Definition: FPGATrackSimHit.h:245
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
FPGATrackSimHit::setStripHitMapForITk
void setStripHitMapForITk(int v)
Definition: FPGATrackSimHit.h:188
FPGATrackSimHit::setEtaModule
void setEtaModule(int v)
Definition: FPGATrackSimHit.h:76
FPGATrackSimHit::setEtaCoord
void setEtaCoord(float v)
Definition: FPGATrackSimHit.h:106
FPGATrackSimHit::m_z
float m_z
Definition: FPGATrackSimHit.h:257
FPGATrackSimHit::m_phiModule
unsigned m_phiModule
Definition: FPGATrackSimHit.h:229
FPGATrackSimHit::getPairedPhiModule
unsigned getPairedPhiModule() const
Definition: FPGATrackSimHit.h:134
FPGATrackSimHit::getParentageMask
unsigned long getParentageMask() const
Definition: FPGATrackSimHit.h:169
FPGATrackSimHit::m_barcode_pt
float m_barcode_pt
Definition: FPGATrackSimHit.h:286
FPGATrackSimHit::m_ToT
unsigned m_ToT
Definition: FPGATrackSimHit.h:282
FPGATrackSimHit::getStripHitMapForITk
int getStripHitMapForITk() const
Definition: FPGATrackSimHit.h:183
FPGATrackSimHit::getY
float getY() const
Definition: FPGATrackSimHit.h:150
FPGATrackSimHit::m_pairedLayer
unsigned m_pairedLayer
Definition: FPGATrackSimHit.h:278
FPGATrackSimHit::setBarcode
void setBarcode(const HepMcParticleLink::barcode_type &v)
Definition: FPGATrackSimHit.h:158
FPGATrackSimHit::setRoadID
void setRoadID(int roadID)
Definition: FPGATrackSimHit.h:96
FPGATrackSimHit::getPairedPhysLayer
unsigned getPairedPhysLayer() const
Definition: FPGATrackSimHit.h:137
FPGATrackSimHit::getEtaIndex
unsigned getEtaIndex() const
Definition: FPGATrackSimHit.h:108
FPGATrackSimHit::m_originalX
float m_originalX
Definition: FPGATrackSimHit.h:260
FPGATrackSimHit::setPhysLayer
void setPhysLayer(unsigned v)
Definition: FPGATrackSimHit.cxx:55
FPGATrackSimHit::setPhiModule
void setPhiModule(unsigned v)
Definition: FPGATrackSimHit.h:77
FPGATrackSimHit::getIdentifierHash
unsigned getIdentifierHash() const
Definition: FPGATrackSimHit.h:81
FPGATrackSimHit::addIDHashToVec
void addIDHashToVec(unsigned id)
Definition: FPGATrackSimHit.h:203
FPGATrackSimHit::isPixel
bool isPixel() const
Definition: FPGATrackSimHit.h:64
HitType
HitType
Definition: FPGATrackSimHit.h:38
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
FPGATrackSimHit::FPGATrackSimHit
FPGATrackSimHit()=default
FPGATrackSimHit::setCluster1ID
void setCluster1ID(int v)
Definition: FPGATrackSimHit.h:191
FPGATrackSimHit::setRemap
void setRemap()
Definition: FPGATrackSimHit.cxx:24
FPGATrackSimHit::getZ
float getZ() const
Definition: FPGATrackSimHit.h:151
FPGATrackSimHit::m_maxPhiIndex
int m_maxPhiIndex
Definition: FPGATrackSimHit.h:249
FPGATrackSimHit::m_layer
int m_layer
Definition: FPGATrackSimHit.h:235
FPGATrackSimHit::setPairedSection
void setPairedSection(unsigned v)
Definition: FPGATrackSimHit.h:143
FPGATrackSimHit::getDetectorZone
DetectorZone getDetectorZone() const
Definition: FPGATrackSimHit.h:59
FPGATrackSimHit::m_clusterIndex2ForFPGA
int m_clusterIndex2ForFPGA
Definition: FPGATrackSimHit.h:297
FPGATrackSimHit::setLayerDisk
void setLayerDisk(unsigned v)
Definition: FPGATrackSimHit.h:73
FPGATrackSimHit::m_phiWidth
unsigned m_phiWidth
Definition: FPGATrackSimHit.h:231
FPGATrackSimHit::m_roadID
int m_roadID
Definition: FPGATrackSimHit.h:305
FPGATrackSimMultiTruth
Definition: FPGATrackSimMultiTruth.h:46
FPGATrackSimHit::setPairedLayer
void setPairedLayer(unsigned v)
Definition: FPGATrackSimHit.h:142
FPGATrackSimHit::m_truth
FPGATrackSimMultiTruth m_truth
Definition: FPGATrackSimHit.h:290
FPGATrackSimHit::m_pairedSection
unsigned m_pairedSection
Definition: FPGATrackSimHit.h:277
FPGATrackSimHit::getUniqueID
HepMcParticleLink::barcode_type getUniqueID() const
Definition: FPGATrackSimHit.h:166
FPGATrackSimHit::getCentroidPhiIndex
float getCentroidPhiIndex() const
Definition: FPGATrackSimHit.h:109
HitType::clustered
@ clustered
FPGATrackSimHit::setPhiWidth
void setPhiWidth(unsigned v)
Definition: FPGATrackSimHit.h:79
FPGATrackSimHit::getRoadID
int getRoadID() const
Definition: FPGATrackSimHit.h:68
FPGATrackSimHit::setEventIndex
void setEventIndex(long v)
Definition: FPGATrackSimHit.h:161
FPGATrackSimHit::getEtaCoord
float getEtaCoord() const
Definition: FPGATrackSimHit.h:112
FPGATrackSimHit::m_layer_disk_old
unsigned m_layer_disk_old
Definition: FPGATrackSimHit.h:224
FPGATrackSimHit::setZ
void setZ(float v)
Definition: FPGATrackSimHit.h:148
FPGATrackSimHit::getPairedDetZone
DetectorZone getPairedDetZone() const
Definition: FPGATrackSimHit.h:138
HitType::mapped
@ mapped
FPGATrackSimHit::m_IDhashVec
std::vector< unsigned > m_IDhashVec
Definition: FPGATrackSimHit.h:307
python.PyAthena.v
v
Definition: PyAthena.py:154
FPGATrackSimHit::getCentroidEtaIndex
float getCentroidEtaIndex() const
Definition: FPGATrackSimHit.h:110
FPGATrackSimHit::isMapped
bool isMapped() const
Definition: FPGATrackSimHit.cxx:13
FPGATrackSimHit::getR
float getR() const
Definition: FPGATrackSimHit.h:152
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
FPGATrackSimHit::setLayer
void setLayer(unsigned v)
Definition: FPGATrackSimHit.h:92
DetectorZone
DetectorZone
Definition: FPGATrackSimTypes.h:28
y
#define y
FPGATrackSimHit::m_originalZ
float m_originalZ
Definition: FPGATrackSimHit.h:262
FPGATrackSimHit::getCluster1ID
int getCluster1ID() const
Definition: FPGATrackSimHit.h:190
CSV_InDetExporter.old
old
Definition: CSV_InDetExporter.py:145
FPGATrackSimHit::m_detectorZone
DetectorZone m_detectorZone
Definition: FPGATrackSimHit.h:217
FPGATrackSimHit::m_layer_disk
unsigned m_layer_disk
Definition: FPGATrackSimHit.h:223
FPGATrackSimHit::m_pairedPhiModule
unsigned m_pairedPhiModule
Definition: FPGATrackSimHit.h:268
FPGATrackSimHit::getDetType
SiliconTech getDetType() const
Definition: FPGATrackSimHit.h:58
DetectorZone::barrel
@ barrel
FPGATrackSimHit::m_PhiIndexVec
std::vector< int > m_PhiIndexVec
Definition: FPGATrackSimHit.h:308
FPGATrackSimHit::m_phiWindow
float m_phiWindow
Definition: FPGATrackSimHit.h:265
FPGATrackSimHit::m_pairedDetType
SiliconTech m_pairedDetType
Definition: FPGATrackSimHit.h:273
FPGATrackSimHit::getPhiWindow
float getPhiWindow() const
Definition: FPGATrackSimHit.h:123
FPGATrackSimHit::m_minEtaIndex
int m_minEtaIndex
Definition: FPGATrackSimHit.h:252
FPGATrackSimHit::m_etaModule_old
int m_etaModule_old
Definition: FPGATrackSimHit.h:228
FPGATrackSimHit::getEtaWidth
unsigned getEtaWidth() const
Definition: FPGATrackSimHit.h:85
FPGATrackSimHit::m_isRemapped
bool m_isRemapped
Definition: FPGATrackSimHit.h:239
FPGATrackSimHit::m_x
float m_x
Definition: FPGATrackSimHit.h:255
FPGATrackSimHit::setCluster2ID
void setCluster2ID(int v)
Definition: FPGATrackSimHit.h:194
FPGATrackSimHit::m_stripRowinITKEDM
int m_stripRowinITKEDM
Definition: FPGATrackSimHit.h:300
FPGATrackSimHit::setStripChipIDForITk
void setStripChipIDForITk(int v)
Definition: FPGATrackSimHit.h:187
FPGATrackSimHit::m_phiIndex
int m_phiIndex
Definition: FPGATrackSimHit.h:241
FPGATrackSimHit::getPhysLayer
unsigned getPhysLayer(bool old=false) const
Definition: FPGATrackSimHit.cxx:72
FPGATrackSimHit::addPhiIndexToVec
void addPhiIndexToVec(int phi)
Definition: FPGATrackSimHit.h:201
FPGATrackSimHit::m_side
unsigned m_side
Definition: FPGATrackSimHit.h:225
FPGATrackSimHit::setIdentifier
void setIdentifier(unsigned int v)
Definition: FPGATrackSimHit.h:71
FPGATrackSimHit::getMinEtaIndex
int getMinEtaIndex() const
Definition: FPGATrackSimHit.h:121
FPGATrackSimHit::setCentroidEtaIndex
void setCentroidEtaIndex(float v)
Definition: FPGATrackSimHit.h:104
FPGATrackSimHit::setTruth
void setTruth(const FPGATrackSimMultiTruth &v)
Definition: FPGATrackSimHit.h:163
FPGATrackSimHit::m_minPhiIndex
int m_minPhiIndex
Definition: FPGATrackSimHit.h:250
FPGATrackSimHit::setParentageMask
void setParentageMask(unsigned long v)
Definition: FPGATrackSimHit.h:162
FPGATrackSimHit::m_section
int m_section
Definition: FPGATrackSimHit.h:236
FPGATrackSimHit::isBarrel
bool isBarrel() const
Definition: FPGATrackSimHit.h:66
FPGATrackSimHit::m_etaModule
int m_etaModule
Definition: FPGATrackSimHit.h:227
FPGATrackSimTypes.h
FPGATrackSimHit::getPhiWidth
unsigned getPhiWidth() const
Definition: FPGATrackSimHit.h:86
FPGATrackSimHit::setBarcodePt
void setBarcodePt(float v)
Definition: FPGATrackSimHit.h:160
SiliconTech::undefined
@ undefined
SiliconTech::pixel
@ pixel
FPGATrackSimHit::getStripRowIDForITk
int getStripRowIDForITk() const
Definition: FPGATrackSimHit.h:181
FPGATrackSimHit::operator<<
friend std::ostream & operator<<(std::ostream &, const FPGATrackSimHit &)
Definition: FPGATrackSimHit.cxx:151
FPGATrackSimHit::m_parentage_mask
unsigned long m_parentage_mask
Definition: FPGATrackSimHit.h:288
FPGATrackSimHit::getHitType
HitType getHitType() const
Definition: FPGATrackSimHit.h:57
HitType::unmapped
@ unmapped
FPGATrackSimHit::getBarcode
HepMcParticleLink::barcode_type getBarcode() const
Definition: FPGATrackSimHit.h:165
FPGATrackSimHit::setHitType
void setHitType(HitType type)
Definition: FPGATrackSimHit.h:54
sortByLayer
std::vector< std::vector< std::shared_ptr< const FPGATrackSimHit > > > sortByLayer(Container const &hits)
Definition: FPGATrackSimHit.h:315
FPGATrackSimHit::getGCotTheta
float getGCotTheta() const
Definition: FPGATrackSimHit.h:154
DetectorZone::undefined
@ undefined
LArGeo::ATan2
GeoGenfun::FunctionNoop ATan2(GeoGenfun::GENFUNCTION y, GeoGenfun::GENFUNCTION x)
Definition: BarrelAuxFunctions.cxx:50
FPGATrackSimHit::m_maxEtaIndex
int m_maxEtaIndex
Definition: FPGATrackSimHit.h:251