Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FPGATrackSimRegionMap Class Reference

#include <FPGATrackSimRegionMap.h>

Collaboration diagram for FPGATrackSimRegionMap:

Public Member Functions

 FPGATrackSimRegionMap (const std::vector< std::unique_ptr< FPGATrackSimPlaneMap >> &pmaps, std::string const &filepath)
 
void loadModuleIDLUT (std::string const &filepath)
 
void loadRadiiFile (std::string const &radii_file)
 
const FPGATrackSimPlaneMapgetPlaneMap (int iRegion) const
 
int getNRegions () const
 
bool isModuleIDLUTloaded () const
 
const FPGATrackSimRegionBoundariesgetRegionBoundaries (int region, int layer, int section) const
 
bool isInRegion (uint32_t region, const FPGATrackSimHit &hit) const
 
bool isInRegion (uint32_t region, uint32_t plane, uint32_t section, int eta, int phi) const
 
std::vector< uint32_t > getRegions (const FPGATrackSimHit &hit) const
 
uint32_t getUnmappedID (uint32_t region, const FPGATrackSimHit &hit) const
 
uint32_t getLocalID (uint32_t region, uint32_t layer, uint32_t globalModuleID) const
 
uint32_t getGlobalID (uint32_t region, uint32_t layer, uint32_t localModuleID) const
 
double getAvgRadius (unsigned region, unsigned layer) const
 
const std::vector< double > & getAvgRadii (unsigned region) const
 

Private Member Functions

void allocateMap (std::ifstream &fin)
 
void readRegion (std::ifstream &fin, int expected_region)
 

Private Attributes

std::string m_filepath
 
std::vector< std::unique_ptr< FPGATrackSimPlaneMap > > constm_pmaps
 
int m_nregions = 0
 
std::vector< std::vector< std::vector< FPGATrackSimRegionBoundaries > > > m_map
 
std::vector< std::vector< std::map< uint32_t, uint32_t > > > m_global_local_map
 
std::vector< std::vector< double > > m_radii_map
 

Detailed Description

Definition at line 61 of file FPGATrackSimRegionMap.h.

Constructor & Destructor Documentation

◆ FPGATrackSimRegionMap()

FPGATrackSimRegionMap::FPGATrackSimRegionMap ( const std::vector< std::unique_ptr< FPGATrackSimPlaneMap >> &  pmaps,
std::string const filepath 
)

Definition at line 29 of file FPGATrackSimRegionMap.cxx.

29  :
30  m_pmaps(pmaps)
31 {
32  // Open the file
33  ifstream fin(filepath);
34  if (!fin.is_open())
35  {
36  ANA_MSG_FATAL("Couldn't open " << filepath);
37  throw ("FPGATrackSimRegionMap Couldn't open " + filepath);
38  }
39  m_filepath=filepath;
40 
41  // Reads the header of the file to resize all the vector members
43 
44  // Read all the region data
45  for (int region = 0; region < m_nregions; region++){
46  readRegion(fin, region);
47  }
48 }

Member Function Documentation

◆ allocateMap()

void FPGATrackSimRegionMap::allocateMap ( std::ifstream &  fin)
private

Definition at line 50 of file FPGATrackSimRegionMap.cxx.

51 {
52  string line, towerKey;
53  bool ok = true;
54 
55  ok = ok && getline(fin, line);
56  ANA_MSG_DEBUG(line << " < " << ok);
57 
58  istringstream sline(line);
59  ok = ok && (sline >> towerKey >> m_nregions);
60  ok = ok && (towerKey == "towers");
61  if((m_filepath.size()-7)==m_filepath.find("subrmap")){
62  if(int(m_pmaps.size())!= m_nregions){
63  ANA_MSG_FATAL("Error Pmap slice size does not match Rmap: PMAP_SIZE:"<<m_pmaps.size()<<" RMAP_SIZE:"<<m_nregions);
64  throw ("Pmap slice size does not match Rmap:" );
65  }
66  }
67 
68 
69  if (!ok) ANA_MSG_FATAL("Error reading header");
70 
71  m_map.resize(m_nregions);
72 
73  for (int iRegion=0; iRegion<int(m_map.size()); iRegion++)
74  {
75  m_map.at(iRegion).resize(m_pmaps.at(0)->getNLogiLayers());
76  for (size_t l = 0; l < m_map.at(iRegion).size(); l++) m_map.at(iRegion).at(l).resize(m_pmaps.at(iRegion)->getNSections(l));
77  }
78 }

◆ getAvgRadii()

const std::vector<double>& FPGATrackSimRegionMap::getAvgRadii ( unsigned  region) const
inline

Definition at line 104 of file FPGATrackSimRegionMap.h.

104 { return m_radii_map.at(region); };

◆ getAvgRadius()

double FPGATrackSimRegionMap::getAvgRadius ( unsigned  region,
unsigned  layer 
) const

Definition at line 369 of file FPGATrackSimRegionMap.cxx.

369  {
370 
371  if (region >= m_radii_map.size() || layer >= m_pmaps.at(0)->getNLogiLayers())
372  {
373  ANA_MSG_ERROR("getAvgRadius() bad region=" << region << " or layer=" << layer);
374  return -1;
375  }
376 
377  // Return the radius we loaded for this region.
378  return m_radii_map[region][layer];
379 }

◆ getGlobalID()

uint32_t FPGATrackSimRegionMap::getGlobalID ( uint32_t  region,
uint32_t  layer,
uint32_t  localModuleID 
) const

Definition at line 354 of file FPGATrackSimRegionMap.cxx.

355 {
356  if (region >= m_global_local_map.size() || layer >= m_pmaps.at(0)->getNLogiLayers())
357  {
358  ANA_MSG_ERROR("getGlobalID() bad region=" << region << " or layer=" << layer);
359  return -1;
360  }
361 
362  for (auto const & g_l : m_global_local_map[region][layer])
363  if (g_l.second == localModuleID) return g_l.first;
364 
365  ANA_MSG_ERROR("getGlobalID() Did not find global id for region " << region << ", layer " << layer << ", localID " << localModuleID);
366  return -1;
367 }

◆ getLocalID()

uint32_t FPGATrackSimRegionMap::getLocalID ( uint32_t  region,
uint32_t  layer,
uint32_t  globalModuleID 
) const

Definition at line 345 of file FPGATrackSimRegionMap.cxx.

346 {
347  // TEMPORARY UNTIL WE HAVE A MODULE LUT
348  (void) region;
349  (void) layer;
350  return globalModuleID & 0x3ff;
351 }

◆ getNRegions()

int FPGATrackSimRegionMap::getNRegions ( ) const
inline

Definition at line 80 of file FPGATrackSimRegionMap.h.

80 { return m_nregions; }

◆ getPlaneMap()

const FPGATrackSimPlaneMap* FPGATrackSimRegionMap::getPlaneMap ( int  iRegion) const
inline

Definition at line 78 of file FPGATrackSimRegionMap.h.

78 { return m_pmaps.at(iRegion).get(); }

◆ getRegionBoundaries()

const FPGATrackSimRegionBoundaries& FPGATrackSimRegionMap::getRegionBoundaries ( int  region,
int  layer,
int  section 
) const
inline

Definition at line 87 of file FPGATrackSimRegionMap.h.

88  { return m_map.at(region).at(layer).at(section); }

◆ getRegions()

std::vector< uint32_t > FPGATrackSimRegionMap::getRegions ( const FPGATrackSimHit hit) const

Definition at line 278 of file FPGATrackSimRegionMap.cxx.

279 {
280  std::vector<uint32_t> regions;
281  for (uint32_t region = 0; region < m_map.size(); region++) {
282  if (isInRegion(region, hit))
283  regions.push_back(region);
284  }
285  return regions;
286 }

◆ getUnmappedID()

uint32_t FPGATrackSimRegionMap::getUnmappedID ( uint32_t  region,
const FPGATrackSimHit hit 
) const

Definition at line 288 of file FPGATrackSimRegionMap.cxx.

289 {
290  /*
291  Todo: Does this handle EC hits correctly?
292 
293  error code key:
294  6 digit number. 1 = ok. 2 = not ok
295 
296  1st digit - Endcap Check
297  2nd - region
298  3rd - layer
299  4th - section
300  5th - eta
301  6th - phi
302  */
303 
304  uint32_t layer = hit.getLayer();
305  uint32_t section = hit.getSection();
306  int eta = hit.getEtaModule();
307  int phi = hit.getPhiModule();
308 
309  int anyerr = 0;
310  int err[] = {1,1,1,1,1,1};
311 
312  if (region >= m_map.size()) anyerr = err[1] = 2;
313 
314  if (!anyerr && layer >= m_map[region].size()) anyerr = err[2] = 2;
315 
316  if (!anyerr && section >= m_map[region][layer].size()) anyerr = err[3] = 2;
317 
318  if (!anyerr) {
319  int eta_min = m_map[region][layer][section].eta_min;
320  int eta_max = m_map[region][layer][section].eta_max;
321 
322  if (eta < eta_min) err[4] = 3;
323  if (eta > eta_max) err[4] = 2;
324 
325  int phi_min = m_map[region][layer][section].phi_min;
326  int phi_max = m_map[region][layer][section].phi_max;
327 
328  // Need special cases for phi berrause it can go from 2pi to 0.
329  if (phi_min <= phi_max) // Region does not cross phi = 0
330  {
331  if (phi < phi_min || phi > phi_max) err[5] = 2;
332  }
333  else // Region crosses phi = 0
334  {
335  if (phi < phi_min && phi > phi_max) err[5] = 3;
336  }
337  }
338 
339  int error_code = 100000*err[0] + 10000*err[1] + 1000*err[2] + 100*err[3] + 10*err[4] + err[5];
340 
341  return error_code;
342 }

◆ isInRegion() [1/2]

bool FPGATrackSimRegionMap::isInRegion ( uint32_t  region,
const FPGATrackSimHit hit 
) const

Definition at line 225 of file FPGATrackSimRegionMap.cxx.

226 {
227  // Always assume that the hit's "layer" might not correspond to what's in the pmap
228  // Also, to avoid confusion and double-counting, by convention, always use the coordinates of the inner hit
229  // when testing if a spacepoint is in a (sub)region.
230  uint32_t layer;
232 
234  if (hit.getHitType() == HitType::spacepoint) {
235  ls = m_pmaps.at(region)->getLayerSection(hit.getPairedDetType(), hit.getPairedDetZone(), hit.getPairedPhysLayer());
236  } else {
237  ls = m_pmaps.at(region)->getLayerSection(hit.getDetType(), hit.getDetectorZone(), hit.getPhysLayer());
238  }
239  layer = ls.layer;
240  section = ls.section;
241 
242  int etamod = (hit.getHitType() == HitType::spacepoint) ? hit.getPairedEtaModule() : hit.getEtaModule();
243  unsigned phimod = (hit.getHitType() == HitType::spacepoint) ? hit.getPairedPhiModule() : hit.getPhiModule();
244  return isInRegion(region, layer, section, etamod, phimod);
245 }

◆ isInRegion() [2/2]

bool FPGATrackSimRegionMap::isInRegion ( uint32_t  region,
uint32_t  plane,
uint32_t  section,
int  eta,
int  phi 
) const

Definition at line 248 of file FPGATrackSimRegionMap.cxx.

249 {
250  if ( region >= m_map.size()
251  || layer >= m_map[region].size()
252  || section >= m_map[region][layer].size() )
253  {
254  return false;
255  }
256 
257  int eta_min = m_map[region][layer][section].eta_min;
258  int eta_max = m_map[region][layer][section].eta_max;
259 
260  if (eta < eta_min || eta > eta_max) return false;
261 
262  int phi_min = m_map[region][layer][section].phi_min;
263  int phi_max = m_map[region][layer][section].phi_max;
264 
265  // Need special cases for phi because it can go from 2pi to 0.
266  if (phi_min <= phi_max) // Region does not cross phi = 0
267  {
268  if (phi < phi_min || phi > phi_max) return false;
269  }
270  else // Region crosses phi = 0
271  {
272  if (phi < phi_min && phi > phi_max) return false;
273  }
274 
275  return true;
276 }

◆ isModuleIDLUTloaded()

bool FPGATrackSimRegionMap::isModuleIDLUTloaded ( ) const
inline

Definition at line 82 of file FPGATrackSimRegionMap.h.

82 { return !m_global_local_map.empty(); }

◆ loadModuleIDLUT()

void FPGATrackSimRegionMap::loadModuleIDLUT ( std::string const filepath)

Definition at line 128 of file FPGATrackSimRegionMap.cxx.

129 {
130  ANA_MSG_INFO("Reading module LUT" << filepath);
131  ifstream fin(filepath);
132  if (!fin.is_open())
133  {
134  ANA_MSG_ERROR("Couldn't open " << filepath);
135  throw ("FPGATrackSimRegionMap Couldn't open " + filepath);
136  }
137 
138  m_global_local_map.clear();
139  m_global_local_map.resize(m_nregions, vector<map<uint32_t, uint32_t>>(m_pmaps.at(0)->getNLogiLayers()));
140 
141  string line;
142  while (getline(fin, line))
143  {
144  uint32_t region, layer, globalID, localID;
145  istringstream sline(line);
146 
147  if (!(sline >> region >> layer >> globalID >> localID))
148  ANA_MSG_WARNING("Error reading module LUT");
149  else if (region >= m_global_local_map.size() || layer >= m_pmaps.at(0)->getNLogiLayers())
150  ANA_MSG_WARNING("loadModuleIDLUT() bad region=" << region << " or layer=" << layer);
151  else
152  m_global_local_map[region][layer][globalID] = localID;
153  }
154 }

◆ loadRadiiFile()

void FPGATrackSimRegionMap::loadRadiiFile ( std::string const radii_file)

Definition at line 157 of file FPGATrackSimRegionMap.cxx.

158 {
159 
160  // Resize the radius structure appropriately.
161  m_radii_map.clear();
162  m_radii_map.resize(m_nregions, std::vector<double>(m_pmaps.at(0)->getNLogiLayers()));
163 
164  // Open the file
165  std::ifstream fin(filepath);
166  if (!fin.is_open())
167  {
168  ANA_MSG_FATAL("Couldn't open radius file " << filepath);
169  }
170 
171  // Variables to fill
172  std::string line;
173  bool ok = true;
174  double r = 0.0;
175 
176  // Parse the file
177  while (getline(fin, line))
178  {
179  if (line.empty() || line[0] == '#') continue;
180  std::istringstream sline(line);
181  std::vector<int> shifts;
182 
183  int subregion{-1};
184  ok = ok && (sline >> subregion);
185 
186  // The radii file contains an "inclusive" line and then one for each subregion.
187  // If we only have one region (because we are the rmap or because we are a subrmap
188  // with one z-slice) then we only want to read the inclusive line.
189  // Otherwise we want to read everything BUT the inclusive line.
190  if (m_nregions == 1 && subregion != -1) {
191  continue;
192  }
193  if (m_nregions > 1 && subregion == -1) {
194  continue;
195  }
196 
197  for (unsigned layer = 0; layer < m_pmaps.at(0)->getNLogiLayers(); layer++) {
198  ok = ok && (sline >> r);
199  if (!ok) break;
200  if (r<=0) {
201  ANA_MSG_WARNING("Radius in radiiFile is "<< r <<" for layer: " << layer << " setting to dummy value!");
202  r = 500.0; // dummy value that won't cause a crash, but won't work anywhere.
203  }
204  if (subregion == -1) {
205  m_radii_map[0][layer] = r;
206  } else {
207  m_radii_map[subregion][layer] = r;
208  }
209  }
210 
211  if (!ok) break;
212  }
213 
214  if (!ok)
215  {
216  ANA_MSG_FATAL("Found error reading file at line: " << line);
217  }
218 }

◆ readRegion()

void FPGATrackSimRegionMap::readRegion ( std::ifstream &  fin,
int  expected_region 
)
private

Definition at line 82 of file FPGATrackSimRegionMap.cxx.

83 {
84 
85  string line, dummy;
86  bool ok = true;
87  int region = -1;
88  uint32_t linesRead = 0; // detLayer lines read
89 
90  while (getline(fin, line))
91  {
92  if (line.empty() || line[0] == '#') continue;
93  istringstream sline(line);
94 
95  if (region < 0) // Find the starting header of the next region
96  {
97  ok = ok && (sline >> region);// should check this is a sensible number
98  ok = ok && !(sline >> dummy); // No keyword to check that we're not reading a detector line, so make sure rest of string is empty
99  ok = ok && (region == expected_region);
100  if (!ok) break;
101  }
102  else // Detector layer line
103  {
104  int isPix{}, BEC{}, physLayer{}, phi_min{}, phi_max{}, phi_tot{}, eta_min{}, eta_max{}, eta_tot{};
105  //should check these are within sensible limits after they are read
106  ok = ok && (sline >> isPix >> BEC >> physLayer >> phi_min >> phi_max >> phi_tot >> eta_min >> eta_max >> eta_tot);
107  if (!ok) break;
108  //region WW
109  int logiLayer = m_pmaps.at(region)->getLayerSection(static_cast<SiliconTech>(isPix), static_cast<DetectorZone>(BEC), physLayer).layer;
110  int section = m_pmaps.at(region)->getLayerSection(static_cast<SiliconTech>(isPix), static_cast<DetectorZone>(BEC), physLayer).section;
111 
112  if (logiLayer > -1)
113  m_map[region][logiLayer][section] = { phi_min, phi_max, eta_min, eta_max };
114 
115  if (++linesRead == m_pmaps.at(region)->getNDetLayers()) break;
116  }
117  }
118 
119  if (!ok)
120  {
121  ANA_MSG_FATAL("Found error reading file at line: " << line);
122  throw "FPGATrackSimRegionMap read error";
123  }
124 }

Member Data Documentation

◆ m_filepath

std::string FPGATrackSimRegionMap::m_filepath
private

Definition at line 107 of file FPGATrackSimRegionMap.h.

◆ m_global_local_map

std::vector<std::vector<std::map<uint32_t, uint32_t> > > FPGATrackSimRegionMap::m_global_local_map
private

Definition at line 114 of file FPGATrackSimRegionMap.h.

◆ m_map

std::vector<std::vector<std::vector<FPGATrackSimRegionBoundaries> > > FPGATrackSimRegionMap::m_map
private

Definition at line 111 of file FPGATrackSimRegionMap.h.

◆ m_nregions

int FPGATrackSimRegionMap::m_nregions = 0
private

Definition at line 109 of file FPGATrackSimRegionMap.h.

◆ m_pmaps

std::vector<std::unique_ptr<FPGATrackSimPlaneMap> > const& FPGATrackSimRegionMap::m_pmaps
private

Definition at line 108 of file FPGATrackSimRegionMap.h.

◆ m_radii_map

std::vector<std::vector<double> > FPGATrackSimRegionMap::m_radii_map
private

Definition at line 117 of file FPGATrackSimRegionMap.h.


The documentation for this class was generated from the following files:
FPGATrackSimHit::getSection
unsigned getSection() const
Definition: FPGATrackSimHit.cxx:83
beamspotman.r
def r
Definition: beamspotman.py:676
FPGATrackSimHit::getPhiModule
unsigned getPhiModule() const
Definition: FPGATrackSimHit.h:88
FPGATrackSimRegionMap::m_global_local_map
std::vector< std::vector< std::map< uint32_t, uint32_t > > > m_global_local_map
Definition: FPGATrackSimRegionMap.h:114
FPGATrackSimHit::getPhysLayer
unsigned getPhysLayer() const
Definition: FPGATrackSimHit.cxx:69
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
collListGuids.line
string line
Definition: collListGuids.py:77
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
FPGATrackSimHit::getPairedDetType
SiliconTech getPairedDetType() const
Definition: FPGATrackSimHit.h:130
FPGATrackSimHit::getLayer
unsigned getLayer() const
Definition: FPGATrackSimHit.cxx:77
ANA_MSG_ERROR
#define ANA_MSG_ERROR(xmsg)
Macro printing error messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:294
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
HitType::spacepoint
@ spacepoint
FPGATrackSimHit::getEtaModule
int getEtaModule() const
Definition: FPGATrackSimHit.h:87
FPGATrackSimRegionMap::readRegion
void readRegion(std::ifstream &fin, int expected_region)
Definition: FPGATrackSimRegionMap.cxx:82
CaloSwCorrections.etamod
def etamod(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:206
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
FPGATrackSimHit::getPairedEtaModule
int getPairedEtaModule() const
Definition: FPGATrackSimHit.h:124
dqt_zlumi_pandas.err
err
Definition: dqt_zlumi_pandas.py:182
SiliconTech
SiliconTech
Definition: FPGATrackSimTypes.h:25
CaloSwCorrections.phimod
def phimod(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:203
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
ANA_MSG_INFO
#define ANA_MSG_INFO(xmsg)
Macro printing info messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:290
ANA_MSG_WARNING
#define ANA_MSG_WARNING(xmsg)
Macro printing warning messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:292
FPGATrackSimHit::getPairedPhiModule
unsigned getPairedPhiModule() const
Definition: FPGATrackSimHit.h:125
python.xAODType.dummy
dummy
Definition: xAODType.py:4
FPGATrackSimRegionMap::isInRegion
bool isInRegion(uint32_t region, const FPGATrackSimHit &hit) const
Definition: FPGATrackSimRegionMap.cxx:225
FPGATrackSimHit::getPairedPhysLayer
unsigned getPairedPhysLayer() const
Definition: FPGATrackSimHit.h:128
LayerSection
Definition: FPGATrackSimPlaneMap.h:40
ANA_MSG_FATAL
#define ANA_MSG_FATAL(xmsg)
Macro printing fatal messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:296
keylayer_zslicemap.isPix
isPix
Definition: keylayer_zslicemap.py:127
FPGATrackSimHit::getDetectorZone
DetectorZone getDetectorZone() const
Definition: FPGATrackSimHit.h:59
FPGATrackSimRegionMap::m_map
std::vector< std::vector< std::vector< FPGATrackSimRegionBoundaries > > > m_map
Definition: FPGATrackSimRegionMap.h:111
FPGATrackSimHit::getPairedDetZone
DetectorZone getPairedDetZone() const
Definition: FPGATrackSimHit.h:129
DetectorZone
DetectorZone
Definition: FPGATrackSimTypes.h:28
FPGATrackSimRegionMap::m_radii_map
std::vector< std::vector< double > > m_radii_map
Definition: FPGATrackSimRegionMap.h:117
FPGATrackSimHit::getDetType
SiliconTech getDetType() const
Definition: FPGATrackSimHit.h:58
FPGATrackSimRegionMap::m_filepath
std::string m_filepath
Definition: FPGATrackSimRegionMap.h:104
FPGATrackSimRegionMap::m_pmaps
std::vector< std::unique_ptr< FPGATrackSimPlaneMap > > const & m_pmaps
Definition: FPGATrackSimRegionMap.h:108
LArHVGainsPredictor.error_code
error_code
Definition: LArHVGainsPredictor.py:229
compute_lumi.fin
fin
Definition: compute_lumi.py:19
FPGATrackSimRegionMap::allocateMap
void allocateMap(std::ifstream &fin)
Definition: FPGATrackSimRegionMap.cxx:50
python.DiskUtils.ls
def ls(path, longls=False)
Definition: DiskUtils.py:112
FPGATrackSimRegionMap::m_nregions
int m_nregions
Definition: FPGATrackSimRegionMap.h:109
section
void section(const std::string &sec)
Definition: TestTriggerMenuAccess.cxx:22
LArDigits2NtupleDumper.BEC
BEC
Definition: LArDigits2NtupleDumper.py:75
FPGATrackSimHit::getHitType
HitType getHitType() const
Definition: FPGATrackSimHit.h:57
ANA_MSG_DEBUG
#define ANA_MSG_DEBUG(xmsg)
Macro printing debug messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:288