Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)
76  void setEtaModule(int v) { m_etaModule = v; }
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() const { 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() 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() const { 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  unsigned 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  float getPhiWindow() const { return m_phiWindow; }
115 
116  // Converts the hit into a spacepoint. Keeps copies of the local information.
117  void makeSpacepoint(float x, float y, float z, float window, FPGATrackSimHit& other, FPGATrackSimMultiTruth& new_truth);
118 
119  // Retrieves a (copy of) the original hit with the original local coordinates used to make a SP.
120  // If not a SP, returns a copy of this hit.
121  const FPGATrackSimHit getOriginalHit() const;
122 
123  // These return coordinates for the inner hit in the pair, if a SP
124  int getPairedEtaModule() const { return m_pairedEtaModule; }
125  unsigned getPairedPhiModule() const { return m_pairedPhiModule; }
126  unsigned getPairedSection() const { return m_pairedSection; }
127  unsigned getPairedLayer() const { return m_pairedLayer; }
128  unsigned getPairedPhysLayer() const { return m_pairedPhysLayer; }
131 
132  // These setters are used by FPGATrackSimPlaneMap to map hits that are SPs.
133  void setPairedLayer(unsigned v) { m_pairedLayer = v; }
134  void setPairedSection(unsigned v) { m_pairedSection = v; }
135 
136  // --- Global Coordinates ---
137  void setX(float v) { m_originalX = m_x; m_x = v; }
138  void setY(float v) { m_originalY = m_y; m_y = v; }
139  void setZ(float v) { m_originalZ = m_z; m_z = v; }
140  float getX() const { return m_x; }
141  float getY() const { return m_y; }
142  float getZ() const { return m_z; }
143  float getR() const { return TMath::Sqrt(m_x * m_x + m_y * m_y); } // This is cylindrical radius
144  float getGPhi() const { return TMath::ATan2(m_y, m_x); }
145  float getGCotTheta() const { return m_z / getR(); } // cot(theta) = z/r
146 
147  // --- Truth and Other ---
148  void setToT(unsigned v) { m_ToT = v; }
151  void setBarcodePt(float v) { m_barcode_pt = v; }
152  void setEventIndex(long v) { m_eventindex = v; }
153  void setParentageMask(unsigned long v) { m_parentage_mask = v; }
155  unsigned getToT() const { return m_ToT ;}
158  long getEventIndex() const { return m_eventindex; }
159  float getBarcodePt() const { return m_barcode_pt; }
160  unsigned long getParentageMask() const { return m_parentage_mask; }
161  const FPGATrackSimMultiTruth& getTruth() const { return m_truth; }
162 
163 
165  // Add information for creating the bytestream TV for ITk pixel and strip
166  // The current athena EDM is using ID bytestream encoders and these happens
167  // to have issues and we need to work around them to make TV
168  // Hence these special function - Please talk to Haider [sabidi@cern.ch]
169  // If these need to functions are being used anywhere outside bytestream encoders
170 
171  bool isValidForITkHit() const {return m_isValidForITK;}
175 
180 
181  int getCluster1ID() const {return m_clusterIndex1ForFPGA;}
183 
184  int getCluster2ID() const {return m_clusterIndex2ForFPGA;}
186 
187  // methods for hit cluster equiv
188  const std::vector<int>& getPhiIndexVec() const { return m_PhiIndexVec;}
189  const std::vector<int>& getEtaIndexVec() const { return m_EtaIndexVec;}
190  const std::vector<unsigned>& getIDHashVec() const { return m_IDhashVec;}
191 
192  void addPhiIndexToVec(int phi) {m_PhiIndexVec.push_back(phi);}
193  void addEtaIndexToVec(int eta) {m_EtaIndexVec.push_back(eta);}
194  void addIDHashToVec(unsigned id) {m_IDhashVec.push_back(id);}
196  // Other Interface
197 
198  friend std::ostream& operator<<(std::ostream&, const FPGATrackSimHit&);
199 
200  //remap interface
201  bool isRemapped() const;
202  void setRemap();
203 
204 protected:
205 
206  // --- Hit Type ---
208  DetectorZone m_detectorZone = DetectorZone::undefined; // barrel / posEC / negEC (0,1,2)
210 
211  // --- Unmapped Location ---
212  unsigned int m_identifier = 0; // Global module ID, from offline (32 bit variant)
213  unsigned m_identifierHash = 0; // Global module ID hash, from ITk
214  unsigned m_layer_disk = 0; // ITk layer number
215  unsigned m_side = 0; // Side of the strip module
216  int m_etaModule = 0; // eta index of the module that the hit is located on
217  unsigned m_phiModule = 0; // phi index of the module that the hit is located on
218  unsigned m_etaWidth = 0; // clustering width along eta
219  unsigned m_phiWidth = 0; // clustering width in phi direction
220 
221  // --- Mapped Location ---
222  // isMapped() should return true to access these members
223  int m_layer = -1; // Logical layer this hit is on
224  int m_section = -1; // Index of detector element in the logical layer (see FPGATrackSimPlaneMap.h)
225 
226  // --- Map Tag
227  bool m_isRemapped = false;
228  // --- Local Coordinates ---
229  int m_phiIndex = -1; // phi index for pixel, strip for strip
230  int m_etaIndex = -1; // eta index for pixel, row for strip
231  float m_centroidPhiIndex = -1; // centroid's phi index for pixel, strip for strip
232  float m_centroidEtaIndex = -1; // centroid's eta index for pixel, row for strip
233  float m_phiCoord = -999; // local position along phi direction
234  float m_etaCoord = -999; // local position along eta direction
235 
236  // --- Global Coordinates ---
237  float m_x = 0; // Hit position in global coordinates
238  float m_y = 0;
239  float m_z = 0;
240 
241  // Original X/Y/Z coordinates, if this is a spacepoint
242  float m_originalX = 0;
243  float m_originalY = 0;
244  float m_originalZ = 0;
245 
246  // Phi window used in spacepoint calculation
247  float m_phiWindow = 0;
248 
249  // These are the coordinates of the inner layer in a SP
250  unsigned m_pairedPhiModule = -1;
252 
253  // These are the unmapped / physical detector coordinates of the SP inner layer.
254  DetectorZone m_pairedDetZone = DetectorZone::undefined; // barrel / posEC / negEC (0,1,2)
256  unsigned m_pairedPhysLayer = 0;
257 
258  // These are the mapped versions of the inner layer in a SP.
259  unsigned m_pairedSection = 0;
260  unsigned m_pairedLayer = 0;
261 
262  // --- Truth and Other ---
263  unsigned m_hw_word = 0; // store Strip and Pixel cluster positions as integers using the same FPGATrackSim_IM HW definition
264  unsigned m_ToT = 0; // time over Threshold
265  long m_eventindex = 0; // athena event index assigned to this channel
266  HepMcParticleLink::barcode_type m_barcode = 0; // geant particle barcode assigned to this channel
268  float m_barcode_pt = 0; // maximum 'pt' for any 'good' geant particle contributing to the channel.
269  // corresponds to the particle with m_barcode
270  unsigned long m_parentage_mask = 0; // ancestor information of this channel
271 
273  // geant truth data (clusters only). filled during clustering using the m_barcode and
274  // m_barcode_frac data for each raw hit in the cluster.
275 
276 
277  // For ITk EDM encoding
278  int m_clusterIndex1ForFPGA = -1; // Index1 to keep a track of all the clusters used in track in FPGA
279  int m_clusterIndex2ForFPGA = -1; // Index2 to keep a track of all the clusters used in track in FPGA
280 
281  bool m_isValidForITK = false; // Should this hit be used for ITk EDM testing
282  int m_stripRowinITKEDM = -1; // Strip hit row ID in ITk EDM format
283  int m_stripChipinITKEDM = -1; // Strip chip ID in ITk EDM format
284  int m_stripHitMapinITKEDM = -1; // Strip hit map in ITk EDM format
285 
286 
287  int m_roadID = 0;
288 
289  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
290  std::vector<int> m_PhiIndexVec; // for a cluster, all the phi indices in it
291  std::vector<int> m_EtaIndexVec; // for a cluster, all the eta indices in it
293 };
294 
295 // Container of <FPGATrackSimHit const *>
296 template <class Container>
297 std::vector<std::vector<std::shared_ptr<const FPGATrackSimHit>>> sortByLayer(Container const& hits)
298 {
299  std::vector<std::vector<std::shared_ptr<const FPGATrackSimHit>>> out;
300  for (auto const &hit : hits)
301  {
302  size_t layer = hit->getLayer();
303  if (layer >= out.size()) out.resize(layer + 1);
304  out[layer].push_back(hit);
305  }
306  return out;
307 }
308 
309 
310 std::ostream& operator<<(std::ostream& os, HitType t);
311 std::string to_string(HitType t);
312 
313 #endif // FPGATrackSimHIT_H
314 
FPGATrackSimHit::m_detType
SiliconTech m_detType
Definition: FPGATrackSimHit.h:209
FPGATrackSimHit::getSection
unsigned getSection() const
Definition: FPGATrackSimHit.cxx:83
FPGATrackSimHit::getEventIndex
long getEventIndex() const
Definition: FPGATrackSimHit.h:158
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:212
FPGATrackSimHit::setSection
void setSection(unsigned v)
Definition: FPGATrackSimHit.h:93
FPGATrackSimHit::m_barcode
HepMcParticleLink::barcode_type m_barcode
Definition: FPGATrackSimHit.h:266
FPGATrackSimHit::m_clusterIndex1ForFPGA
int m_clusterIndex1ForFPGA
Definition: FPGATrackSimHit.h:278
FPGATrackSimHit::getEtaIndexVec
const std::vector< int > & getEtaIndexVec() const
Definition: FPGATrackSimHit.h:189
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
SiliconTech::strip
@ strip
FPGATrackSimHit::isStrip
bool isStrip() const
Definition: FPGATrackSimHit.h:65
FPGATrackSimHit::getPhysLayer
unsigned getPhysLayer() const
Definition: FPGATrackSimHit.cxx:69
FPGATrackSimHit::getToT
unsigned getToT() const
Definition: FPGATrackSimHit.h:155
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
HitType::extrapolated
@ extrapolated
FPGATrackSimHit::setStripRowIDForITk
void setStripRowIDForITk(int v)
Definition: FPGATrackSimHit.h:177
FPGATrackSimHit::isClustered
bool isClustered() const
Definition: FPGATrackSimHit.cxx:28
FPGATrackSimHit::m_centroidEtaIndex
float m_centroidEtaIndex
Definition: FPGATrackSimHit.h:232
FPGATrackSimHit::m_stripHitMapinITKEDM
int m_stripHitMapinITKEDM
Definition: FPGATrackSimHit.h:284
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:176
FPGATrackSimHit::setPhiCoord
void setPhiCoord(float v)
Definition: FPGATrackSimHit.h:105
FPGATrackSimHit::setIdentifierHash
void setIdentifierHash(unsigned v)
Definition: FPGATrackSimHit.h:72
FPGATrackSimHit::getPairedSection
unsigned getPairedSection() const
Definition: FPGATrackSimHit.h:126
FPGATrackSimHit::m_EtaIndexVec
std::vector< int > m_EtaIndexVec
Definition: FPGATrackSimHit.h:291
FPGATrackSimHit::setCentroidPhiIndex
void setCentroidPhiIndex(float v)
Definition: FPGATrackSimHit.h:103
FPGATrackSimHit::m_originalY
float m_originalY
Definition: FPGATrackSimHit.h:243
FPGATrackSimHit::getX
float getX() const
Definition: FPGATrackSimHit.h:140
to_string
std::string to_string(HitType t)
Definition: FPGATrackSimHit.cxx:157
FPGATrackSimHit::getBarcodePt
float getBarcodePt() const
Definition: FPGATrackSimHit.h:159
FPGATrackSimHit::getPhiIndexVec
const std::vector< int > & getPhiIndexVec() const
Definition: FPGATrackSimHit.h:188
FPGATrackSimHit::isReal
bool isReal() const
Definition: FPGATrackSimHit.cxx:40
operator<<
std::ostream & operator<<(std::ostream &os, HitType t)
Definition: FPGATrackSimHit.cxx:173
FPGATrackSimHit::getPairedDetType
SiliconTech getPairedDetType() const
Definition: FPGATrackSimHit.h:130
FPGATrackSimHit::m_eventindex
long m_eventindex
Definition: FPGATrackSimHit.h:265
FPGATrackSimHit::getLayer
unsigned getLayer() const
Definition: FPGATrackSimHit.cxx:77
FPGATrackSimHit::isValidForITkHit
bool isValidForITkHit() const
Definition: FPGATrackSimHit.h:171
FPGATrackSimHit::m_stripChipinITKEDM
int m_stripChipinITKEDM
Definition: FPGATrackSimHit.h:283
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
FPGATrackSimHit::addEtaIndexToVec
void addEtaIndexToVec(int eta)
Definition: FPGATrackSimHit.h:193
FPGATrackSimHit::getIDHashVec
const std::vector< unsigned > & getIDHashVec() const
Definition: FPGATrackSimHit.h:190
FPGATrackSimHit::getPairedLayer
unsigned getPairedLayer() const
Definition: FPGATrackSimHit.h:127
FPGATrackSimHit::m_pairedEtaModule
int m_pairedEtaModule
Definition: FPGATrackSimHit.h:251
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:184
FPGATrackSimHit::makeSpacepoint
void makeSpacepoint(float x, float y, float z, float window, FPGATrackSimHit &other, FPGATrackSimMultiTruth &new_truth)
Definition: FPGATrackSimHit.cxx:89
HitType::spacepoint
@ spacepoint
FPGATrackSimMultiTruth.h
FPGATrackSimHit::getEtaModule
int getEtaModule() const
Definition: FPGATrackSimHit.h: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:138
FPGATrackSimHit::m_identifierHash
unsigned m_identifierHash
Definition: FPGATrackSimHit.h:213
FPGATrackSimHit::getLayerDisk
unsigned getLayerDisk() const
Definition: FPGATrackSimHit.h:82
FPGATrackSimHit::~FPGATrackSimHit
virtual ~FPGATrackSimHit()=default
FPGATrackSimHit::setDetectorZone
void setDetectorZone(DetectorZone detZone)
Definition: FPGATrackSimHit.h:56
FPGATrackSimHit::m_hitType
HitType m_hitType
Definition: FPGATrackSimHit.h:207
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:234
FPGATrackSimHit::m_pairedDetZone
DetectorZone m_pairedDetZone
Definition: FPGATrackSimHit.h:254
FPGATrackSimHit::m_y
float m_y
Definition: FPGATrackSimHit.h:238
FPGATrackSimHit
Definition: FPGATrackSimHit.h:41
FPGATrackSimHit::getGPhi
float getGPhi() const
Definition: FPGATrackSimHit.h:144
Container
storage of the time histories of all the cells
FPGATrackSimHit::m_etaWidth
unsigned m_etaWidth
Definition: FPGATrackSimHit.h:218
HitType::wildcard
@ wildcard
FPGATrackSimHit::m_centroidPhiIndex
float m_centroidPhiIndex
Definition: FPGATrackSimHit.h:231
FPGATrackSimHit::getTruth
const FPGATrackSimMultiTruth & getTruth() const
Definition: FPGATrackSimHit.h:161
FPGATrackSimHit::setUniqueID
void setUniqueID(const HepMcParticleLink::barcode_type &v)
Definition: FPGATrackSimHit.h:150
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:173
FPGATrackSimHit::m_pairedPhysLayer
unsigned m_pairedPhysLayer
Definition: FPGATrackSimHit.h:256
FPGATrackSimHit::getPairedEtaModule
int getPairedEtaModule() const
Definition: FPGATrackSimHit.h:124
FPGATrackSimHit::setDetType
void setDetType(SiliconTech detType)
Definition: FPGATrackSimHit.h:55
FPGATrackSimHit::setX
void setX(float v)
Definition: FPGATrackSimHit.h:137
FPGATrackSimHit::m_hw_word
unsigned m_hw_word
Definition: FPGATrackSimHit.h:263
FPGATrackSimHit::setToT
void setToT(unsigned v)
Definition: FPGATrackSimHit.h:148
FPGATrackSimHit::m_uniqueID
HepMcParticleLink::barcode_type m_uniqueID
Definition: FPGATrackSimHit.h:267
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:281
z
#define z
FPGATrackSimHit::m_etaIndex
int m_etaIndex
Definition: FPGATrackSimHit.h:230
FPGATrackSimHit::getOriginalHit
const FPGATrackSimHit getOriginalHit() const
Definition: FPGATrackSimHit.cxx:122
FPGATrackSimHit::m_phiCoord
float m_phiCoord
Definition: FPGATrackSimHit.h:233
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
FPGATrackSimHit::setStripHitMapForITk
void setStripHitMapForITk(int v)
Definition: FPGATrackSimHit.h:179
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:239
FPGATrackSimHit::m_phiModule
unsigned m_phiModule
Definition: FPGATrackSimHit.h:217
FPGATrackSimHit::getPairedPhiModule
unsigned getPairedPhiModule() const
Definition: FPGATrackSimHit.h:125
FPGATrackSimHit::getParentageMask
unsigned long getParentageMask() const
Definition: FPGATrackSimHit.h:160
FPGATrackSimHit::m_barcode_pt
float m_barcode_pt
Definition: FPGATrackSimHit.h:268
FPGATrackSimHit::m_ToT
unsigned m_ToT
Definition: FPGATrackSimHit.h:264
FPGATrackSimHit::getStripHitMapForITk
int getStripHitMapForITk() const
Definition: FPGATrackSimHit.h:174
FPGATrackSimHit::getY
float getY() const
Definition: FPGATrackSimHit.h:141
FPGATrackSimHit::m_pairedLayer
unsigned m_pairedLayer
Definition: FPGATrackSimHit.h:260
FPGATrackSimHit::setBarcode
void setBarcode(const HepMcParticleLink::barcode_type &v)
Definition: FPGATrackSimHit.h:149
FPGATrackSimHit::setRoadID
void setRoadID(int roadID)
Definition: FPGATrackSimHit.h:96
FPGATrackSimHit::getPairedPhysLayer
unsigned getPairedPhysLayer() const
Definition: FPGATrackSimHit.h:128
FPGATrackSimHit::getEtaIndex
unsigned getEtaIndex() const
Definition: FPGATrackSimHit.h:108
FPGATrackSimHit::m_originalX
float m_originalX
Definition: FPGATrackSimHit.h:242
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:194
FPGATrackSimHit::ClassDefNV
ClassDefNV(FPGATrackSimHit, 12)
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:182
FPGATrackSimHit::setRemap
void setRemap()
Definition: FPGATrackSimHit.cxx:24
FPGATrackSimHit::getZ
float getZ() const
Definition: FPGATrackSimHit.h:142
FPGATrackSimHit::m_layer
int m_layer
Definition: FPGATrackSimHit.h:223
FPGATrackSimHit::setPairedSection
void setPairedSection(unsigned v)
Definition: FPGATrackSimHit.h:134
FPGATrackSimHit::getDetectorZone
DetectorZone getDetectorZone() const
Definition: FPGATrackSimHit.h:59
FPGATrackSimHit::m_clusterIndex2ForFPGA
int m_clusterIndex2ForFPGA
Definition: FPGATrackSimHit.h:279
FPGATrackSimHit::setLayerDisk
void setLayerDisk(unsigned v)
Definition: FPGATrackSimHit.h:73
FPGATrackSimHit::m_phiWidth
unsigned m_phiWidth
Definition: FPGATrackSimHit.h:219
FPGATrackSimHit::m_roadID
int m_roadID
Definition: FPGATrackSimHit.h:287
FPGATrackSimMultiTruth
Definition: FPGATrackSimMultiTruth.h:46
FPGATrackSimHit::setPairedLayer
void setPairedLayer(unsigned v)
Definition: FPGATrackSimHit.h:133
FPGATrackSimHit::m_truth
FPGATrackSimMultiTruth m_truth
Definition: FPGATrackSimHit.h:272
FPGATrackSimHit::m_pairedSection
unsigned m_pairedSection
Definition: FPGATrackSimHit.h:259
FPGATrackSimHit::getUniqueID
HepMcParticleLink::barcode_type getUniqueID() const
Definition: FPGATrackSimHit.h:157
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:152
FPGATrackSimHit::getEtaCoord
float getEtaCoord() const
Definition: FPGATrackSimHit.h:112
FPGATrackSimHit::setZ
void setZ(float v)
Definition: FPGATrackSimHit.h:139
FPGATrackSimHit::getPairedDetZone
DetectorZone getPairedDetZone() const
Definition: FPGATrackSimHit.h:129
HitType::mapped
@ mapped
FPGATrackSimHit::m_IDhashVec
std::vector< unsigned > m_IDhashVec
Definition: FPGATrackSimHit.h:289
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:143
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:244
FPGATrackSimHit::getCluster1ID
int getCluster1ID() const
Definition: FPGATrackSimHit.h:181
FPGATrackSimHit::m_detectorZone
DetectorZone m_detectorZone
Definition: FPGATrackSimHit.h:208
FPGATrackSimHit::m_layer_disk
unsigned m_layer_disk
Definition: FPGATrackSimHit.h:214
FPGATrackSimHit::m_pairedPhiModule
unsigned m_pairedPhiModule
Definition: FPGATrackSimHit.h:250
FPGATrackSimHit::getDetType
SiliconTech getDetType() const
Definition: FPGATrackSimHit.h:58
DetectorZone::barrel
@ barrel
FPGATrackSimHit::m_PhiIndexVec
std::vector< int > m_PhiIndexVec
Definition: FPGATrackSimHit.h:290
FPGATrackSimHit::m_phiWindow
float m_phiWindow
Definition: FPGATrackSimHit.h:247
FPGATrackSimHit::m_pairedDetType
SiliconTech m_pairedDetType
Definition: FPGATrackSimHit.h:255
FPGATrackSimHit::getPhiWindow
float getPhiWindow() const
Definition: FPGATrackSimHit.h:114
FPGATrackSimHit::getEtaWidth
unsigned getEtaWidth() const
Definition: FPGATrackSimHit.h:85
FPGATrackSimHit::m_isRemapped
bool m_isRemapped
Definition: FPGATrackSimHit.h:227
FPGATrackSimHit::m_x
float m_x
Definition: FPGATrackSimHit.h:237
FPGATrackSimHit::setCluster2ID
void setCluster2ID(int v)
Definition: FPGATrackSimHit.h:185
FPGATrackSimHit::m_stripRowinITKEDM
int m_stripRowinITKEDM
Definition: FPGATrackSimHit.h:282
FPGATrackSimHit::setStripChipIDForITk
void setStripChipIDForITk(int v)
Definition: FPGATrackSimHit.h:178
FPGATrackSimHit::m_phiIndex
int m_phiIndex
Definition: FPGATrackSimHit.h:229
FPGATrackSimHit::addPhiIndexToVec
void addPhiIndexToVec(int phi)
Definition: FPGATrackSimHit.h:192
FPGATrackSimHit::m_side
unsigned m_side
Definition: FPGATrackSimHit.h:215
FPGATrackSimHit::setIdentifier
void setIdentifier(unsigned int v)
Definition: FPGATrackSimHit.h:71
FPGATrackSimHit::setCentroidEtaIndex
void setCentroidEtaIndex(float v)
Definition: FPGATrackSimHit.h:104
FPGATrackSimHit::setTruth
void setTruth(const FPGATrackSimMultiTruth &v)
Definition: FPGATrackSimHit.h:154
FPGATrackSimHit::setParentageMask
void setParentageMask(unsigned long v)
Definition: FPGATrackSimHit.h:153
FPGATrackSimHit::m_section
int m_section
Definition: FPGATrackSimHit.h:224
FPGATrackSimHit::isBarrel
bool isBarrel() const
Definition: FPGATrackSimHit.h:66
FPGATrackSimHit::m_etaModule
int m_etaModule
Definition: FPGATrackSimHit.h:216
FPGATrackSimTypes.h
FPGATrackSimHit::getPhiWidth
unsigned getPhiWidth() const
Definition: FPGATrackSimHit.h:86
FPGATrackSimHit::setBarcodePt
void setBarcodePt(float v)
Definition: FPGATrackSimHit.h:151
SiliconTech::undefined
@ undefined
SiliconTech::pixel
@ pixel
FPGATrackSimHit::getStripRowIDForITk
int getStripRowIDForITk() const
Definition: FPGATrackSimHit.h:172
FPGATrackSimHit::operator<<
friend std::ostream & operator<<(std::ostream &, const FPGATrackSimHit &)
Definition: FPGATrackSimHit.cxx:142
FPGATrackSimHit::m_parentage_mask
unsigned long m_parentage_mask
Definition: FPGATrackSimHit.h:270
FPGATrackSimHit::getHitType
HitType getHitType() const
Definition: FPGATrackSimHit.h:57
HitType::unmapped
@ unmapped
FPGATrackSimHit::getBarcode
HepMcParticleLink::barcode_type getBarcode() const
Definition: FPGATrackSimHit.h:156
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:297
FPGATrackSimHit::getGCotTheta
float getGCotTheta() const
Definition: FPGATrackSimHit.h:145
DetectorZone::undefined
@ undefined
LArGeo::ATan2
GeoGenfun::FunctionNoop ATan2(GeoGenfun::GENFUNCTION y, GeoGenfun::GENFUNCTION x)
Definition: BarrelAuxFunctions.cxx:50