CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
MTDGeometry Class Referencefinal

#include <MTDGeometry.h>

Inheritance diagram for MTDGeometry:
TrackingGeometry

Public Types

enum  ModuleType { ModuleType::UNKNOWN, ModuleType::BTL, ModuleType::ETL }
 
using SubDetector = GeomDetEnumerators::SubDetector
 
- Public Types inherited from TrackingGeometry
using DetContainer = std::vector< const GeomDet * >
 
using DetIdContainer = std::vector< DetId >
 
using DetTypeContainer = std::vector< const GeomDetType * >
 
using mapIdToDet = std::unordered_map< unsigned int, const GeomDet * >
 
using mapIdToDetUnit = std::unordered_map< unsigned int, const GeomDet * >
 

Public Member Functions

const DetIdContainerdetIds () const override
 Returm a vector of all GeomDet DetIds (including those of GeomDetUnits) More...
 
const DetContainerdets () const override
 Returm a vector of all GeomDet (including all GeomDetUnits) More...
 
const DetContainerdetsBTL () const
 
const DetContainerdetsETL () const
 
const DetTypeContainerdetTypes () const override
 Return a vector of all det types. More...
 
const DetIdContainerdetUnitIds () const override
 Returm a vector of all GeomDetUnit DetIds. More...
 
const DetContainerdetUnits () const override
 Returm a vector of all GeomDet. More...
 
unsigned int endsetDU (unsigned sid) const
 
void fillTestMap (const GeometricTimingDet *gd)
 
const GeomDetEnumerators::SubDetector geomDetSubDetector (int subdet) const
 
float getDetectorThickness (DetId) const
 
ModuleType getDetectorType (DetId) const
 
const MTDGeomDetidToDet (DetId) const override
 
const MTDGeomDetidToDetUnit (DetId) const override
 Return the pointer to the GeomDetUnit corresponding to a given DetId. More...
 
bool isThere (GeomDetEnumerators::SubDetector subdet) const
 
ModuleType moduleType (const std::string &name) const
 
unsigned int numberOfLayers (int subdet) const
 
unsigned int offsetDU (unsigned sid) const
 
void setEndsetDU (unsigned sid)
 
void setOffsetDU (unsigned sid)
 
GeometricTimingDet const * trackerDet () const
 
 ~MTDGeometry () override
 
- Public Member Functions inherited from TrackingGeometry
virtual ~TrackingGeometry ()
 Destructor. More...
 

Private Member Functions

void addDet (GeomDet const *p)
 
void addDetId (DetId p)
 
void addDetUnit (GeomDet const *p)
 
void addDetUnitId (DetId p)
 
void addType (GeomDetType const *p)
 
void finalize ()
 
 MTDGeometry (GeometricTimingDet const *gd=nullptr)
 

Private Attributes

DetContainer theBTLDets
 
DetIdContainer theDetIds
 
DetContainer theDets
 
DetTypeContainer theDetTypes
 
std::vector< std::tuple< DetId, MTDGeometry::ModuleType, float > > theDetTypetList
 
DetIdContainer theDetUnitIds
 
DetContainer theDetUnits
 
unsigned int theEndsetDU [2]
 
DetContainer theETLDets
 
mapIdToDet theMap
 
mapIdToDetUnit theMapUnit
 
unsigned int theNumberOfLayers [2]
 
unsigned int theOffsetDU [2]
 
GeomDetEnumerators::SubDetector theSubDetTypeMap [2]
 
GeometricTimingDet const * theTrackerDet
 

Friends

class GeometryAligner
 Aligner has access to map. More...
 
class MTDGeomBuilderFromGeometricTimingDet
 

Detailed Description

A specific MTD Builder which builds MTD from a list of DetUnits. Pattern recognition is used to discover layers, rings etc.

Definition at line 14 of file MTDGeometry.h.

Member Typedef Documentation

◆ SubDetector

Definition at line 16 of file MTDGeometry.h.

Member Enumeration Documentation

◆ ModuleType

Enumerator
UNKNOWN 
BTL 
ETL 

Definition at line 18 of file MTDGeometry.h.

18  {
19  UNKNOWN,
20  BTL,
21  ETL,
22  };

Constructor & Destructor Documentation

◆ ~MTDGeometry()

MTDGeometry::~MTDGeometry ( )
override

Definition at line 108 of file MTDGeometry.cc.

References ztail::d, theDets, and theDetTypes.

108  {
109  for (auto d : theDets)
110  delete const_cast<GeomDet*>(d);
111  for (auto d : theDetTypes)
112  delete const_cast<GeomDetType*>(d);
113 }
DetTypeContainer theDetTypes
Definition: MTDGeometry.h:72
DetContainer theDets
Definition: MTDGeometry.h:76
d
Definition: ztail.py:151

◆ MTDGeometry()

MTDGeometry::MTDGeometry ( GeometricTimingDet const *  gd = nullptr)
explicitprivate

Definition at line 42 of file MTDGeometry.cc.

References cms::cuda::assert(), GeometricTimingDet::components(), hcal_dqm_sourceclient-live_cfg::debugstr, TauDecayModes::dec, GeometricTimingDet::deepComponents(), fillTestMap(), geomDetSubDetector(), mps_fire::i, GeomDetEnumerators::invalidDet, LogTrace, MTDDetId::mtdSubDetector(), numberOfLayers(), jetsAK4_CHS_cff::sort, theDetTypetList, theNumberOfLayers, and theSubDetTypeMap.

42  : theTrackerDet(gd) {
43  for (unsigned int i = 0; i < 2; ++i) {
45  theNumberOfLayers[i] = 0;
46  }
47  GeometricTimingDet::ConstGeometricTimingDetContainer subdetgd = gd->components();
48 
49 #ifdef EDM_ML_DEBUG
50  edm::LogInfo("BuildingSubDetTypeMap")
51  << "MTD GeometricTimingDet and GeomDetEnumerators enumerator values of the subdetectors" << std::endl;
52 #endif
53  for (unsigned int i = 0; i < subdetgd.size(); ++i) {
54  MTDDetId mtdid(subdetgd[i]->geographicalId());
55  assert(mtdid.mtdSubDetector() > 0 && mtdid.mtdSubDetector() < 3);
56  theSubDetTypeMap[mtdid.mtdSubDetector() - 1] = geometricDetToGeomDet(subdetgd[i]->type());
57  theNumberOfLayers[mtdid.mtdSubDetector() - 1] = subdetgd[i]->components().size();
58 #ifdef EDM_ML_DEBUG
59  LogTrace("BuildingSubDetTypeMap") << "MTD subdet " << i << " Geometric Det type " << subdetgd[i]->type()
60  << " Geom Det type " << theSubDetTypeMap[mtdid.mtdSubDetector() - 1] << " detid "
61  << std::hex << subdetgd[i]->geographicalId().rawId() << std::dec << " subdetid "
62  << mtdid.mtdSubDetector() << " number of layers "
63  << subdetgd[i]->components().size();
64 #endif
65  }
66 #ifdef EDM_ML_DEBUG
67  edm::LogInfo("SubDetTypeMapContent").log([&](auto& debugstr) {
68  debugstr << "MTD Content of theSubDetTypeMap"
69  << "\n";
70  for (unsigned int i = 1; i <= 2; ++i) {
71  debugstr << " detid subdet " << i << " Geom Det type " << geomDetSubDetector(i) << "\n";
72  }
73  });
74  edm::LogInfo("NumberOfLayers").log([&](auto& debugstr) {
75  debugstr << "MTD Content of theNumberOfLayers"
76  << "\n";
77  for (unsigned int i = 1; i <= 2; ++i) {
78  debugstr << " detid subdet " << i << " number of layers " << numberOfLayers(i) << "\n";
79  }
80  });
81 #endif
82  std::vector<const GeometricTimingDet*> deepcomp;
83  gd->deepComponents(deepcomp);
84 
85  sort(deepcomp.begin(), deepcomp.end(), DetIdComparator());
86 
87 #ifdef EDM_ML_DEBUG
88  edm::LogInfo("ThicknessAndType") << "MTD Total Number of Detectors " << deepcomp.size() << std::endl;
89  edm::LogInfo("ThicknessAndType") << "MTD Dump of sensors names and bounds" << std::endl;
90  edm::LogInfo("ThicknessAndType").log([&](auto& debugstr) {
91  for (const auto& det : deepcomp) {
92  fillTestMap(det);
93  debugstr << std::hex << det->geographicalId().rawId() << std::dec << " " << det->name() << " "
94  << det->bounds()->thickness() << "\n";
95  }
96  });
97  edm::LogInfo("DetTypeList").log([&](auto& debugstr) {
98  debugstr << "MTD Content of DetTypeList : size " << theDetTypetList.size() << "\n";
99  for (const auto& iVal : theDetTypetList) {
100  debugstr << " DetId " << std::get<0>(iVal).rawId() << " Type "
101  << static_cast<std::underlying_type<MTDGeometry::ModuleType>::type>(std::get<1>(iVal)) << " Thickness "
102  << std::get<2>(iVal) << "\n";
103  }
104  });
105 #endif
106 }
unsigned int numberOfLayers(int subdet) const
Definition: MTDGeometry.cc:187
GeometricTimingDet const * theTrackerDet
Definition: MTDGeometry.h:67
unsigned int theNumberOfLayers[2]
Definition: MTDGeometry.h:86
assert(be >=bs)
#define LogTrace(id)
Detector identifier base class for the MIP Timing Layer.
Definition: MTDDetId.h:21
const GeomDetEnumerators::SubDetector geomDetSubDetector(int subdet) const
Definition: MTDGeometry.cc:179
Log< level::Info, false > LogInfo
void fillTestMap(const GeometricTimingDet *gd)
Definition: MTDGeometry.cc:203
GeomDetEnumerators::SubDetector theSubDetTypeMap[2]
Definition: MTDGeometry.h:85
std::vector< GeometricTimingDet const * > ConstGeometricTimingDetContainer
std::vector< std::tuple< DetId, MTDGeometry::ModuleType, float > > theDetTypetList
Definition: MTDGeometry.h:87

Member Function Documentation

◆ addDet()

void MTDGeometry::addDet ( GeomDet const *  p)
private

Definition at line 139 of file MTDGeometry.cc.

References MTDDetId::BTL, MTDDetId::ETL, l1ctLayer2EG_cff::id, AlCaHLTBitMon_ParallelJobs::p, theBTLDets, theDets, theETLDets, and theMap.

139  {
140  // set index
141  const_cast<GeomDet*>(p)->setGdetIndex(theDets.size());
142  theDets.emplace_back(p); // add to vector
143  theMap.insert(std::make_pair(p->geographicalId().rawId(), p));
144  MTDDetId id(p->geographicalId());
145  switch (id.mtdSubDetector()) {
146  case MTDDetId::BTL:
147  theBTLDets.emplace_back(p);
148  break;
149  case MTDDetId::ETL:
150  theETLDets.emplace_back(p);
151  break;
152  default:
153  edm::LogError("MTDGeometry") << "ERROR - I was expecting a MTD Subdetector, I got a " << id.mtdSubDetector();
154  }
155 }
DetContainer theBTLDets
Definition: MTDGeometry.h:82
Log< level::Error, false > LogError
DetContainer theDets
Definition: MTDGeometry.h:76
Detector identifier base class for the MIP Timing Layer.
Definition: MTDDetId.h:21
mapIdToDet theMap
Definition: MTDGeometry.h:80
DetContainer theETLDets
Definition: MTDGeometry.h:83

◆ addDetId()

void MTDGeometry::addDetId ( DetId  p)
private

Definition at line 157 of file MTDGeometry.cc.

References AlCaHLTBitMon_ParallelJobs::p, and theDetIds.

157 { theDetIds.emplace_back(p); }
DetIdContainer theDetIds
Definition: MTDGeometry.h:78

◆ addDetUnit()

void MTDGeometry::addDetUnit ( GeomDet const *  p)
private

Definition at line 130 of file MTDGeometry.cc.

References AlCaHLTBitMon_ParallelJobs::p, theDetUnits, and theMapUnit.

130  {
131  // set index
132  const_cast<GeomDet*>(p)->setIndex(theDetUnits.size());
133  theDetUnits.emplace_back(p); // add to vector
134  theMapUnit.emplace(p->geographicalId().rawId(), p);
135 }
DetContainer theDetUnits
Definition: MTDGeometry.h:73
mapIdToDetUnit theMapUnit
Definition: MTDGeometry.h:79

◆ addDetUnitId()

void MTDGeometry::addDetUnitId ( DetId  p)
private

Definition at line 137 of file MTDGeometry.cc.

References AlCaHLTBitMon_ParallelJobs::p, and theDetUnitIds.

137 { theDetUnitIds.emplace_back(p); }
DetIdContainer theDetUnitIds
Definition: MTDGeometry.h:77

◆ addType()

void MTDGeometry::addType ( GeomDetType const *  p)
private

Definition at line 126 of file MTDGeometry.cc.

References AlCaHLTBitMon_ParallelJobs::p, and theDetTypes.

126  {
127  theDetTypes.emplace_back(p); // add to vector
128 }
DetTypeContainer theDetTypes
Definition: MTDGeometry.h:72

◆ detIds()

const DetIdContainer& MTDGeometry::detIds ( ) const
inlineoverridevirtual

Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)

Implements TrackingGeometry.

Definition at line 30 of file MTDGeometry.h.

References theDetIds.

30 { return theDetIds; }
DetIdContainer theDetIds
Definition: MTDGeometry.h:78

◆ dets()

const DetContainer& MTDGeometry::dets ( ) const
inlineoverridevirtual

Returm a vector of all GeomDet (including all GeomDetUnits)

Implements TrackingGeometry.

Definition at line 28 of file MTDGeometry.h.

References theDets.

28 { return theDets; }
DetContainer theDets
Definition: MTDGeometry.h:76

◆ detsBTL()

const MTDGeometry::DetContainer & MTDGeometry::detsBTL ( ) const

Definition at line 159 of file MTDGeometry.cc.

References theBTLDets.

Referenced by BTLDetLayerGeometryBuilder::buildLayers().

159 { return theBTLDets; }
DetContainer theBTLDets
Definition: MTDGeometry.h:82

◆ detsETL()

const MTDGeometry::DetContainer & MTDGeometry::detsETL ( ) const

Definition at line 161 of file MTDGeometry.cc.

References theETLDets.

Referenced by ETLDetLayerGeometryBuilder::buildLayerNew().

161 { return theETLDets; }
DetContainer theETLDets
Definition: MTDGeometry.h:83

◆ detTypes()

const DetTypeContainer& MTDGeometry::detTypes ( ) const
inlineoverridevirtual

Return a vector of all det types.

Implements TrackingGeometry.

Definition at line 26 of file MTDGeometry.h.

References theDetTypes.

26 { return theDetTypes; }
DetTypeContainer theDetTypes
Definition: MTDGeometry.h:72

◆ detUnitIds()

const DetIdContainer& MTDGeometry::detUnitIds ( ) const
inlineoverridevirtual

Returm a vector of all GeomDetUnit DetIds.

Implements TrackingGeometry.

Definition at line 29 of file MTDGeometry.h.

References theDetUnitIds.

29 { return theDetUnitIds; }
DetIdContainer theDetUnitIds
Definition: MTDGeometry.h:77

◆ detUnits()

const DetContainer& MTDGeometry::detUnits ( ) const
inlineoverridevirtual

Returm a vector of all GeomDet.

Implements TrackingGeometry.

Definition at line 27 of file MTDGeometry.h.

References theDetUnits.

Referenced by MTDCPEBase::MTDCPEBase(), setEndsetDU(), and setOffsetDU().

27 { return theDetUnits; }
DetContainer theDetUnits
Definition: MTDGeometry.h:73

◆ endsetDU()

unsigned int MTDGeometry::endsetDU ( unsigned  sid) const
inline

Definition at line 39 of file MTDGeometry.h.

References theEndsetDU.

39 { return theEndsetDU[sid]; }
unsigned int theEndsetDU[2]
Definition: MTDGeometry.h:75

◆ fillTestMap()

void MTDGeometry::fillTestMap ( const GeometricTimingDet gd)

Definition at line 203 of file MTDGeometry.cc.

References GeometricTimingDet::bounds(), GeometricTimingDet::geographicalId(), moduleType(), Skims_PA_cff::name, GeometricTimingDet::name(), AlCaHLTBitMon_QueryRunRegistry::string, submitPVValidationJobs::t, groupFilesInBlocks::temp, theDetTypetList, and Calorimetry_cff::thickness.

Referenced by MTDGeometry().

203  {
204  const std::string& temp = gd->name();
205  std::string name = temp.substr(temp.find(':') + 1);
206  DetId detid = gd->geographicalId();
207  float thickness = gd->bounds()->thickness();
208  std::string nameTag;
210  if (theDetTypetList.empty()) {
211  theDetTypetList.emplace_back(detid, mtype, thickness);
212  } else {
213  auto& t = (*(theDetTypetList.end() - 1));
214  if (std::get<1>(t) != mtype)
215  theDetTypetList.emplace_back(detid, mtype, thickness);
216  else {
217  if (detid > std::get<0>(t))
218  std::get<0>(t) = detid;
219  }
220  }
221 }
std::string const & name() const
ModuleType moduleType(const std::string &name) const
Definition: MTDGeometry.cc:242
Definition: DetId.h:17
std::vector< std::tuple< DetId, MTDGeometry::ModuleType, float > > theDetTypetList
Definition: MTDGeometry.h:87
std::unique_ptr< Bounds > bounds() const
DetId geographicalId() const

◆ finalize()

void MTDGeometry::finalize ( void  )
private

Definition at line 115 of file MTDGeometry.cc.

References theBTLDets, theDetIds, theDets, theDetTypes, theDetUnitIds, theDetUnits, and theETLDets.

115  {
116  theDetTypes.shrink_to_fit(); // owns the DetTypes
117  theDetUnits.shrink_to_fit(); // they're all also into 'theDets', so we assume 'theDets' owns them
118  theDets.shrink_to_fit(); // owns *ONLY* the GeomDet * corresponding to GluedDets.
119  theDetUnitIds.shrink_to_fit();
120  theDetIds.shrink_to_fit();
121 
122  theBTLDets.shrink_to_fit(); // not owned: they're also in 'theDets'
123  theETLDets.shrink_to_fit(); // not owned: they're also in 'theDets'
124 }
DetIdContainer theDetUnitIds
Definition: MTDGeometry.h:77
DetContainer theBTLDets
Definition: MTDGeometry.h:82
DetTypeContainer theDetTypes
Definition: MTDGeometry.h:72
DetContainer theDetUnits
Definition: MTDGeometry.h:73
DetContainer theDets
Definition: MTDGeometry.h:76
DetIdContainer theDetIds
Definition: MTDGeometry.h:78
DetContainer theETLDets
Definition: MTDGeometry.h:83

◆ geomDetSubDetector()

const GeomDetEnumerators::SubDetector MTDGeometry::geomDetSubDetector ( int  subdet) const

Definition at line 179 of file MTDGeometry.cc.

References Exception, and theSubDetTypeMap.

Referenced by isThere(), and MTDGeometry().

179  {
180  if (subdet >= 1 && subdet <= 2) {
181  return theSubDetTypeMap[subdet - 1];
182  } else {
183  throw cms::Exception("WrongTrackerSubDet") << "Subdetector " << subdet;
184  }
185 }
GeomDetEnumerators::SubDetector theSubDetTypeMap[2]
Definition: MTDGeometry.h:85

◆ getDetectorThickness()

float MTDGeometry::getDetectorThickness ( DetId  detid) const

Definition at line 233 of file MTDGeometry.cc.

References DetId::rawId(), and theDetTypetList.

233  {
234  for (const auto& iVal : theDetTypetList) {
235  DetId detid_max = std::get<0>(iVal);
236  if (detid.rawId() <= detid_max.rawId())
237  return std::get<2>(iVal);
238  }
239  return -1.0;
240 }
Definition: DetId.h:17
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
std::vector< std::tuple< DetId, MTDGeometry::ModuleType, float > > theDetTypetList
Definition: MTDGeometry.h:87

◆ getDetectorType()

MTDGeometry::ModuleType MTDGeometry::getDetectorType ( DetId  detid) const

Definition at line 223 of file MTDGeometry.cc.

References DetId::rawId(), theDetTypetList, and UNKNOWN.

223  {
224  for (const auto& iVal : theDetTypetList) {
225  DetId detid_max = std::get<0>(iVal);
226  MTDGeometry::ModuleType mtype = std::get<1>(iVal);
227  if (detid.rawId() <= detid_max.rawId())
228  return mtype;
229  }
231 }
Definition: DetId.h:17
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
std::vector< std::tuple< DetId, MTDGeometry::ModuleType, float > > theDetTypetList
Definition: MTDGeometry.h:87

◆ idToDet()

const MTDGeomDet * MTDGeometry::idToDet ( DetId  ) const
overridevirtual

Return the pointer to the GeomDet corresponding to a given DetId (valid also for GeomDetUnits)

Implements TrackingGeometry.

Definition at line 171 of file MTDGeometry.cc.

References AlCaHLTBitMon_ParallelJobs::p, alignCSCRings::s, and theMap.

Referenced by ETLDetLayerGeometryBuilder::buildLayer(), BTLDetLayerGeometryBuilder::buildLayers(), ETLDeviceSim::getHitsResponse(), BTLDeviceSim::getHitsResponse(), MTDTimeCalib::getTimeCalib(), and ETLElectronicsSim::run().

171  {
172  mapIdToDet::const_iterator p = theMap.find(s.rawId());
173  if (p != theMap.end()) {
174  return static_cast<const MTDGeomDet*>(p->second);
175  }
176  return nullptr;
177 }
mapIdToDet theMap
Definition: MTDGeometry.h:80

◆ idToDetUnit()

const MTDGeomDet * MTDGeometry::idToDetUnit ( DetId  ) const
overridevirtual

Return the pointer to the GeomDetUnit corresponding to a given DetId.

Implements TrackingGeometry.

Definition at line 163 of file MTDGeometry.cc.

References AlCaHLTBitMon_ParallelJobs::p, alignCSCRings::s, and theMapUnit.

163  {
164  mapIdToDetUnit::const_iterator p = theMapUnit.find(s.rawId());
165  if (p != theMapUnit.end()) {
166  return static_cast<const MTDGeomDet*>(p->second);
167  }
168  return nullptr;
169 }
mapIdToDetUnit theMapUnit
Definition: MTDGeometry.h:79

◆ isThere()

bool MTDGeometry::isThere ( GeomDetEnumerators::SubDetector  subdet) const

Definition at line 195 of file MTDGeometry.cc.

References geomDetSubDetector(), and mps_fire::i.

195  {
196  for (unsigned int i = 1; i <= 2; ++i) {
197  if (subdet == geomDetSubDetector(i))
198  return true;
199  }
200  return false;
201 }
const GeomDetEnumerators::SubDetector geomDetSubDetector(int subdet) const
Definition: MTDGeometry.cc:179

◆ moduleType()

MTDGeometry::ModuleType MTDGeometry::moduleType ( const std::string &  name) const

Definition at line 242 of file MTDGeometry.cc.

References BTL, ETL, Skims_PA_cff::name, and UNKNOWN.

Referenced by fillTestMap().

242  {
243  if (name.find("Timing") != std::string::npos) {
244  if (name.find("BModule") != std::string::npos)
245  return ModuleType::BTL;
246  else if (name.find("EModule") != std::string::npos)
247  return ModuleType::ETL;
248  }
249  return ModuleType::UNKNOWN;
250 }

◆ numberOfLayers()

unsigned int MTDGeometry::numberOfLayers ( int  subdet) const

Definition at line 187 of file MTDGeometry.cc.

References Exception, and theNumberOfLayers.

Referenced by MTDGeometry().

187  {
188  if (subdet >= 1 && subdet <= 2) {
189  return theNumberOfLayers[subdet - 1];
190  } else {
191  throw cms::Exception("WrongTrackerSubDet") << "Subdetector " << subdet;
192  }
193 }
unsigned int theNumberOfLayers[2]
Definition: MTDGeometry.h:86

◆ offsetDU()

unsigned int MTDGeometry::offsetDU ( unsigned  sid) const
inline

Definition at line 38 of file MTDGeometry.h.

References theOffsetDU.

38 { return theOffsetDU[sid]; }
unsigned int theOffsetDU[2]
Definition: MTDGeometry.h:74

◆ setEndsetDU()

void MTDGeometry::setEndsetDU ( unsigned  sid)
inline

Definition at line 42 of file MTDGeometry.h.

References detUnits(), and theEndsetDU.

42 { theEndsetDU[sid] = detUnits().size(); }
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: MTDGeometry.h:27
unsigned int theEndsetDU[2]
Definition: MTDGeometry.h:75

◆ setOffsetDU()

void MTDGeometry::setOffsetDU ( unsigned  sid)
inline

Definition at line 41 of file MTDGeometry.h.

References detUnits(), and theOffsetDU.

41 { theOffsetDU[sid] = detUnits().size(); }
unsigned int theOffsetDU[2]
Definition: MTDGeometry.h:74
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: MTDGeometry.h:27

◆ trackerDet()

GeometricTimingDet const* MTDGeometry::trackerDet ( ) const
inline

Definition at line 47 of file MTDGeometry.h.

References theTrackerDet.

47 { return theTrackerDet; }
GeometricTimingDet const * theTrackerDet
Definition: MTDGeometry.h:67

Friends And Related Function Documentation

◆ GeometryAligner

friend class GeometryAligner
friend

Aligner has access to map.

Definition at line 70 of file MTDGeometry.h.

◆ MTDGeomBuilderFromGeometricTimingDet

Definition at line 58 of file MTDGeometry.h.

Member Data Documentation

◆ theBTLDets

DetContainer MTDGeometry::theBTLDets
private

Definition at line 82 of file MTDGeometry.h.

Referenced by addDet(), detsBTL(), and finalize().

◆ theDetIds

DetIdContainer MTDGeometry::theDetIds
private

Definition at line 78 of file MTDGeometry.h.

Referenced by addDetId(), detIds(), and finalize().

◆ theDets

DetContainer MTDGeometry::theDets
private

Definition at line 76 of file MTDGeometry.h.

Referenced by addDet(), dets(), finalize(), and ~MTDGeometry().

◆ theDetTypes

DetTypeContainer MTDGeometry::theDetTypes
private

Definition at line 72 of file MTDGeometry.h.

Referenced by addType(), detTypes(), finalize(), and ~MTDGeometry().

◆ theDetTypetList

std::vector<std::tuple<DetId, MTDGeometry::ModuleType, float> > MTDGeometry::theDetTypetList
private

Definition at line 87 of file MTDGeometry.h.

Referenced by fillTestMap(), getDetectorThickness(), getDetectorType(), and MTDGeometry().

◆ theDetUnitIds

DetIdContainer MTDGeometry::theDetUnitIds
private

Definition at line 77 of file MTDGeometry.h.

Referenced by addDetUnitId(), detUnitIds(), and finalize().

◆ theDetUnits

DetContainer MTDGeometry::theDetUnits
private

Definition at line 73 of file MTDGeometry.h.

Referenced by addDetUnit(), detUnits(), and finalize().

◆ theEndsetDU

unsigned int MTDGeometry::theEndsetDU[2]
private

Definition at line 75 of file MTDGeometry.h.

Referenced by endsetDU(), and setEndsetDU().

◆ theETLDets

DetContainer MTDGeometry::theETLDets
private

Definition at line 83 of file MTDGeometry.h.

Referenced by addDet(), detsETL(), and finalize().

◆ theMap

mapIdToDet MTDGeometry::theMap
private

Definition at line 80 of file MTDGeometry.h.

Referenced by addDet(), and idToDet().

◆ theMapUnit

mapIdToDetUnit MTDGeometry::theMapUnit
private

Definition at line 79 of file MTDGeometry.h.

Referenced by addDetUnit(), and idToDetUnit().

◆ theNumberOfLayers

unsigned int MTDGeometry::theNumberOfLayers[2]
private

Definition at line 86 of file MTDGeometry.h.

Referenced by MTDGeometry(), and numberOfLayers().

◆ theOffsetDU

unsigned int MTDGeometry::theOffsetDU[2]
private

Definition at line 74 of file MTDGeometry.h.

Referenced by offsetDU(), and setOffsetDU().

◆ theSubDetTypeMap

GeomDetEnumerators::SubDetector MTDGeometry::theSubDetTypeMap[2]
private

Definition at line 85 of file MTDGeometry.h.

Referenced by geomDetSubDetector(), and MTDGeometry().

◆ theTrackerDet

GeometricTimingDet const* MTDGeometry::theTrackerDet
private

Definition at line 67 of file MTDGeometry.h.

Referenced by trackerDet().