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)
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  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_layer_disk_old = 0; // ITk layer number
216  unsigned m_side = 0; // Side of the strip module
217  unsigned m_side_old = 0; // Side of the strip module
218  int m_etaModule = 0; // eta index of the module that the hit is located on
219  int m_etaModule_old = 0; // eta index of the module that the hit is located on
220  unsigned m_phiModule = 0; // phi index of the module that the hit is located on
221  unsigned m_etaWidth = 0; // clustering width along eta
222  unsigned m_phiWidth = 0; // clustering width in phi direction
223 
224  // --- Mapped Location ---
225  // isMapped() should return true to access these members
226  int m_layer = -1; // Logical layer this hit is on
227  int m_section = -1; // Index of detector element in the logical layer (see FPGATrackSimPlaneMap.h)
228 
229  // --- Map Tag
230  bool m_isRemapped = false;
231  // --- Local Coordinates ---
232  int m_phiIndex = -1; // phi index for pixel, strip for strip
233  int m_etaIndex = -1; // eta index for pixel, row for strip
234  float m_centroidPhiIndex = -1; // centroid's phi index for pixel, strip for strip
235  float m_centroidEtaIndex = -1; // centroid's eta index for pixel, row for strip
236  float m_phiCoord = -999; // local position along phi direction
237  float m_etaCoord = -999; // local position along eta direction
238 
239  // --- Global Coordinates ---
240  float m_x = 0; // Hit position in global coordinates
241  float m_y = 0;
242  float m_z = 0;
243 
244  // Original X/Y/Z coordinates, if this is a spacepoint
245  float m_originalX = 0;
246  float m_originalY = 0;
247  float m_originalZ = 0;
248 
249  // Phi window used in spacepoint calculation
250  float m_phiWindow = 0;
251 
252  // These are the coordinates of the inner layer in a SP
253  unsigned m_pairedPhiModule = -1;
255 
256  // These are the unmapped / physical detector coordinates of the SP inner layer.
257  DetectorZone m_pairedDetZone = DetectorZone::undefined; // barrel / posEC / negEC (0,1,2)
259  unsigned m_pairedPhysLayer = 0;
260 
261  // These are the mapped versions of the inner layer in a SP.
262  unsigned m_pairedSection = 0;
263  unsigned m_pairedLayer = 0;
264 
265  // --- Truth and Other ---
266  unsigned m_hw_word = 0; // store Strip and Pixel cluster positions as integers using the same FPGATrackSim_IM HW definition
267  unsigned m_ToT = 0; // time over Threshold
268  long m_eventindex = 0; // athena event index assigned to this channel
269  HepMcParticleLink::barcode_type m_barcode = 0; // geant particle barcode assigned to this channel
271  float m_barcode_pt = 0; // maximum 'pt' for any 'good' geant particle contributing to the channel.
272  // corresponds to the particle with m_barcode
273  unsigned long m_parentage_mask = 0; // ancestor information of this channel
274 
276  // geant truth data (clusters only). filled during clustering using the m_barcode and
277  // m_barcode_frac data for each raw hit in the cluster.
278 
279 
280  // For ITk EDM encoding
281  int m_clusterIndex1ForFPGA = -1; // Index1 to keep a track of all the clusters used in track in FPGA
282  int m_clusterIndex2ForFPGA = -1; // Index2 to keep a track of all the clusters used in track in FPGA
283 
284  bool m_isValidForITK = false; // Should this hit be used for ITk EDM testing
285  int m_stripRowinITKEDM = -1; // Strip hit row ID in ITk EDM format
286  int m_stripChipinITKEDM = -1; // Strip chip ID in ITk EDM format
287  int m_stripHitMapinITKEDM = -1; // Strip hit map in ITk EDM format
288 
289 
290  int m_roadID = 0;
291 
292  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
293  std::vector<int> m_PhiIndexVec; // for a cluster, all the phi indices in it
294  std::vector<int> m_EtaIndexVec; // for a cluster, all the eta indices in it
296 };
297 
298 // Container of <FPGATrackSimHit const *>
299 template <class Container>
300 std::vector<std::vector<std::shared_ptr<const FPGATrackSimHit>>> sortByLayer(Container const& hits)
301 {
302  std::vector<std::vector<std::shared_ptr<const FPGATrackSimHit>>> out;
303  for (auto const &hit : hits)
304  {
305  size_t layer = hit->getLayer();
306  if (layer >= out.size()) out.resize(layer + 1);
307  out[layer].push_back(hit);
308  }
309  return out;
310 }
311 
312 
313 std::ostream& operator<<(std::ostream& os, HitType t);
314 std::string to_string(HitType t);
315 
316 #endif // FPGATrackSimHIT_H
317 
FPGATrackSimHit::m_detType
SiliconTech m_detType
Definition: FPGATrackSimHit.h:209
FPGATrackSimHit::getSection
unsigned getSection() const
Definition: FPGATrackSimHit.cxx:93
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:269
FPGATrackSimHit::m_clusterIndex1ForFPGA
int m_clusterIndex1ForFPGA
Definition: FPGATrackSimHit.h:281
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::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: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:235
FPGATrackSimHit::m_stripHitMapinITKEDM
int m_stripHitMapinITKEDM
Definition: FPGATrackSimHit.h:287
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::getLayerDisk
unsigned getLayerDisk(bool old=false) const
Definition: FPGATrackSimHit.h:82
FPGATrackSimHit::m_EtaIndexVec
std::vector< int > m_EtaIndexVec
Definition: FPGATrackSimHit.h:294
FPGATrackSimHit::setCentroidPhiIndex
void setCentroidPhiIndex(float v)
Definition: FPGATrackSimHit.h:103
FPGATrackSimHit::m_originalY
float m_originalY
Definition: FPGATrackSimHit.h:246
FPGATrackSimHit::getX
float getX() const
Definition: FPGATrackSimHit.h:140
to_string
std::string to_string(HitType t)
Definition: FPGATrackSimHit.cxx:167
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:183
FPGATrackSimHit::getPairedDetType
SiliconTech getPairedDetType() const
Definition: FPGATrackSimHit.h:130
FPGATrackSimHit::m_eventindex
long m_eventindex
Definition: FPGATrackSimHit.h:268
FPGATrackSimHit::getLayer
unsigned getLayer() const
Definition: FPGATrackSimHit.cxx:87
FPGATrackSimHit::isValidForITkHit
bool isValidForITkHit() const
Definition: FPGATrackSimHit.h:171
FPGATrackSimHit::m_stripChipinITKEDM
int m_stripChipinITKEDM
Definition: FPGATrackSimHit.h:286
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:254
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:99
HitType::spacepoint
@ spacepoint
FPGATrackSimMultiTruth.h
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::~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:237
FPGATrackSimHit::m_pairedDetZone
DetectorZone m_pairedDetZone
Definition: FPGATrackSimHit.h:257
FPGATrackSimHit::m_y
float m_y
Definition: FPGATrackSimHit.h:241
FPGATrackSimHit::m_side_old
unsigned m_side_old
Definition: FPGATrackSimHit.h:217
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:221
HitType::wildcard
@ wildcard
FPGATrackSimHit::m_centroidPhiIndex
float m_centroidPhiIndex
Definition: FPGATrackSimHit.h:234
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:259
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:266
FPGATrackSimHit::setToT
void setToT(unsigned v)
Definition: FPGATrackSimHit.h:148
FPGATrackSimHit::m_uniqueID
HepMcParticleLink::barcode_type m_uniqueID
Definition: FPGATrackSimHit.h:270
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:284
z
#define z
FPGATrackSimHit::m_etaIndex
int m_etaIndex
Definition: FPGATrackSimHit.h:233
FPGATrackSimHit::getOriginalHit
const FPGATrackSimHit getOriginalHit() const
Definition: FPGATrackSimHit.cxx:132
FPGATrackSimHit::m_phiCoord
float m_phiCoord
Definition: FPGATrackSimHit.h:236
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:242
FPGATrackSimHit::m_phiModule
unsigned m_phiModule
Definition: FPGATrackSimHit.h:220
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:271
FPGATrackSimHit::m_ToT
unsigned m_ToT
Definition: FPGATrackSimHit.h:267
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:263
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:245
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::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:226
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:282
FPGATrackSimHit::setLayerDisk
void setLayerDisk(unsigned v)
Definition: FPGATrackSimHit.h:73
FPGATrackSimHit::m_phiWidth
unsigned m_phiWidth
Definition: FPGATrackSimHit.h:222
FPGATrackSimHit::m_roadID
int m_roadID
Definition: FPGATrackSimHit.h:290
FPGATrackSimMultiTruth
Definition: FPGATrackSimMultiTruth.h:46
FPGATrackSimHit::setPairedLayer
void setPairedLayer(unsigned v)
Definition: FPGATrackSimHit.h:133
FPGATrackSimHit::m_truth
FPGATrackSimMultiTruth m_truth
Definition: FPGATrackSimHit.h:275
FPGATrackSimHit::m_pairedSection
unsigned m_pairedSection
Definition: FPGATrackSimHit.h:262
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::m_layer_disk_old
unsigned m_layer_disk_old
Definition: FPGATrackSimHit.h:215
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:292
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
FPGATrackSimHit::ClassDefNV
ClassDefNV(FPGATrackSimHit, 13)
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:247
FPGATrackSimHit::getCluster1ID
int getCluster1ID() const
Definition: FPGATrackSimHit.h:181
CSV_InDetExporter.old
old
Definition: CSV_InDetExporter.py:145
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:253
FPGATrackSimHit::getDetType
SiliconTech getDetType() const
Definition: FPGATrackSimHit.h:58
DetectorZone::barrel
@ barrel
FPGATrackSimHit::m_PhiIndexVec
std::vector< int > m_PhiIndexVec
Definition: FPGATrackSimHit.h:293
FPGATrackSimHit::m_phiWindow
float m_phiWindow
Definition: FPGATrackSimHit.h:250
FPGATrackSimHit::m_pairedDetType
SiliconTech m_pairedDetType
Definition: FPGATrackSimHit.h:258
FPGATrackSimHit::getPhiWindow
float getPhiWindow() const
Definition: FPGATrackSimHit.h:114
FPGATrackSimHit::m_etaModule_old
int m_etaModule_old
Definition: FPGATrackSimHit.h:219
FPGATrackSimHit::getEtaWidth
unsigned getEtaWidth() const
Definition: FPGATrackSimHit.h:85
FPGATrackSimHit::m_isRemapped
bool m_isRemapped
Definition: FPGATrackSimHit.h:230
FPGATrackSimHit::m_x
float m_x
Definition: FPGATrackSimHit.h:240
FPGATrackSimHit::setCluster2ID
void setCluster2ID(int v)
Definition: FPGATrackSimHit.h:185
FPGATrackSimHit::m_stripRowinITKEDM
int m_stripRowinITKEDM
Definition: FPGATrackSimHit.h:285
FPGATrackSimHit::setStripChipIDForITk
void setStripChipIDForITk(int v)
Definition: FPGATrackSimHit.h:178
FPGATrackSimHit::m_phiIndex
int m_phiIndex
Definition: FPGATrackSimHit.h:232
FPGATrackSimHit::getPhysLayer
unsigned getPhysLayer(bool old=false) const
Definition: FPGATrackSimHit.cxx:72
FPGATrackSimHit::addPhiIndexToVec
void addPhiIndexToVec(int phi)
Definition: FPGATrackSimHit.h:192
FPGATrackSimHit::m_side
unsigned m_side
Definition: FPGATrackSimHit.h:216
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:227
FPGATrackSimHit::isBarrel
bool isBarrel() const
Definition: FPGATrackSimHit.h:66
FPGATrackSimHit::m_etaModule
int m_etaModule
Definition: FPGATrackSimHit.h:218
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:152
FPGATrackSimHit::m_parentage_mask
unsigned long m_parentage_mask
Definition: FPGATrackSimHit.h:273
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:300
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