CMS 3D CMS Logo

RPCGeometry.cc
Go to the documentation of this file.
1 
9 
11 
13  // delete all the chamber associated to the geometry
14  //for (std::vector<RPCChamber*>::const_iterator ich = allChambers.begin();
15  // ich != allChambers.end(); ++ich){
16  // delete (*ich);
17  //}
18 }
19 
21 
23 
25 
27 
29 
30 const GeomDet* RPCGeometry::idToDetUnit(DetId id) const { return dynamic_cast<const GeomDet*>(idToDet(id)); }
31 
33  mapIdToDet::const_iterator i = theMap.find(id);
34  if (i != theMap.end())
35  return i->second;
36 
37  LogDebug("RPCGeometry") << "Invalid DetID: no GeomDet associated " << RPCDetId(id);
38  GeomDet* geom = nullptr;
39  return geom;
40 }
41 
42 const std::vector<const RPCChamber*>& RPCGeometry::chambers() const { return allChambers; }
43 
44 const std::vector<const RPCRoll*>& RPCGeometry::rolls() const { return allRolls; }
45 
47  return dynamic_cast<const RPCChamber*>(idToDet(id.chamberId()));
48 }
49 
50 const RPCRoll* RPCGeometry::roll(RPCDetId id) const { return dynamic_cast<const RPCRoll*>(idToDetUnit(id)); }
51 
53  theDets.emplace_back(roll);
54  allRolls.emplace_back(roll);
55  theRolls.emplace_back(roll);
56  theRollIds.emplace_back(roll->geographicalId());
57  theDetIds.emplace_back(roll->geographicalId());
58  GeomDetType* _t = const_cast<GeomDetType*>(&roll->type());
59  theRollTypes.emplace_back(_t);
60  theMap.insert(std::pair<DetId, GeomDetUnit*>(roll->geographicalId(), roll));
61 }
62 
64  allChambers.emplace_back(chamber);
65  theDets.emplace_back(chamber);
66  theDetIds.emplace_back(chamber->geographicalId());
67  theMap.insert(std::pair<DetId, GeomDet*>(chamber->geographicalId(), chamber));
68 }
mapIdToDet theMap
Definition: RPCGeometry.h:77
~RPCGeometry() override
Destructor.
Definition: RPCGeometry.cc:12
const DetTypeContainer & detTypes() const override
Return a vector of all det types.
Definition: RPCGeometry.cc:20
DetTypeContainer theRollTypes
Definition: RPCGeometry.h:72
const DetIdContainer & detUnitIds() const override
Returm a vector of all GeomDetUnit DetIds.
Definition: RPCGeometry.cc:26
std::vector< const RPCRoll * > allRolls
Definition: RPCGeometry.h:79
const GeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: RPCGeometry.cc:30
const DetIdContainer & detIds() const override
Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)
Definition: RPCGeometry.cc:28
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: RPCGeometry.cc:22
const RPCRoll * roll(RPCDetId id) const
Return a roll given its id.
Definition: RPCGeometry.cc:50
void add(RPCRoll *roll)
Add a RPC roll to the Geometry.
Definition: RPCGeometry.cc:52
const std::vector< const RPCChamber * > & chambers() const
Return a vector of all RPC chambers.
Definition: RPCGeometry.cc:42
std::vector< const GeomDet * > DetContainer
RPCGeometry()
Default constructor.
Definition: RPCGeometry.cc:10
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
Definition: RPCGeometry.cc:24
DetIdContainer theRollIds
Definition: RPCGeometry.h:73
DetContainer theRolls
Definition: RPCGeometry.h:70
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
Definition: DetId.h:17
const RPCChamber * chamber(RPCDetId id) const
Definition: RPCGeometry.cc:46
std::vector< const RPCChamber * > allChambers
Definition: RPCGeometry.h:80
const GeomDetType & type() const override
Definition: RPCRoll.cc:20
std::vector< DetId > DetIdContainer
DetIdContainer theDetIds
Definition: RPCGeometry.h:74
const std::vector< const RPCRoll * > & rolls() const
Return a vector of all RPC rolls.
Definition: RPCGeometry.cc:44
std::vector< const GeomDetType * > DetTypeContainer
DetContainer theDets
Definition: RPCGeometry.h:71
const GeomDet * idToDet(DetId) const override
Definition: RPCGeometry.cc:32
#define LogDebug(id)