CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
RPCGeometry Class Reference

#include <RPCGeometry.h>

Inheritance diagram for RPCGeometry:
TrackingGeometry

Public Member Functions

void add (RPCRoll *roll)
 Add a RPC roll to the Geometry. More...
 
void add (RPCChamber *ch)
 Add a RPC roll to the Geometry. More...
 
const RPCChamberchamber (RPCDetId id) const
 
const std::vector< const RPCChamber * > & chambers () const
 Return a vector of all RPC chambers. More...
 
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 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...
 
const GeomDetidToDet (DetId) const override
 
const GeomDetidToDetUnit (DetId) const override
 Return the pointer to the GeomDetUnit corresponding to a given DetId. More...
 
const RPCRollroll (RPCDetId id) const
 Return a roll given its id. More...
 
const std::vector< const RPCRoll * > & rolls () const
 Return a vector of all RPC rolls. More...
 
 RPCGeometry ()
 Default constructor. More...
 
 ~RPCGeometry () override
 Destructor. More...
 
- Public Member Functions inherited from TrackingGeometry
virtual ~TrackingGeometry ()
 Destructor. More...
 

Private Attributes

std::vector< const RPCChamber * > allChambers
 
std::vector< const RPCRoll * > allRolls
 
DetIdContainer theDetIds
 
DetContainer theDets
 
mapIdToDet theMap
 
DetIdContainer theRollIds
 
DetContainer theRolls
 
DetTypeContainer theRollTypes
 

Additional Inherited Members

- 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 * >
 

Detailed Description

The model of the geometry of RPC.

Author
M. Maggi - INFN Bari

Definition at line 22 of file RPCGeometry.h.

Constructor & Destructor Documentation

RPCGeometry::RPCGeometry ( )

Default constructor.

Implementation of the Model for RPC Geometry

Author
M. Maggi - INFN Bari

Definition at line 10 of file RPCGeometry.cc.

10 {}
RPCGeometry::~RPCGeometry ( )
override

Destructor.

Definition at line 13 of file RPCGeometry.cc.

14 {
15  // delete all the chamber associated to the geometry
16  //for (std::vector<RPCChamber*>::const_iterator ich = allChambers.begin();
17  // ich != allChambers.end(); ++ich){
18  // delete (*ich);
19  //}
20 }

Member Function Documentation

void RPCGeometry::add ( RPCRoll roll)

Add a RPC roll to the Geometry.

Definition at line 81 of file RPCGeometry.cc.

References allRolls, GeomDet::geographicalId(), roll(), theDetIds, theDets, theMap, theRollIds, theRolls, theRollTypes, and RPCRoll::type().

Referenced by RPCGeometryBuilderFromDDD::buildGeometry(), and counter.Counter::register().

81  {
82  theDets.emplace_back(roll);
83  allRolls.emplace_back(roll);
84  theRolls.emplace_back(roll);
85  theRollIds.emplace_back(roll->geographicalId());
86  theDetIds.emplace_back(roll->geographicalId());
87  GeomDetType* _t = const_cast<GeomDetType*>(&roll->type());
88  theRollTypes.emplace_back(_t);
89  theMap.insert(std::pair<DetId,GeomDetUnit*>
90  (roll->geographicalId(),roll));
91 }
mapIdToDet theMap
Definition: RPCGeometry.h:81
DetTypeContainer theRollTypes
Definition: RPCGeometry.h:76
std::vector< const RPCRoll * > allRolls
Definition: RPCGeometry.h:83
DetIdContainer theRollIds
Definition: RPCGeometry.h:77
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
DetContainer theRolls
Definition: RPCGeometry.h:74
DetIdContainer theDetIds
Definition: RPCGeometry.h:78
DetContainer theDets
Definition: RPCGeometry.h:75
const RPCRoll * roll(RPCDetId id) const
Return a roll given its id.
Definition: RPCGeometry.cc:75
const GeomDetType & type() const override
Definition: RPCRoll.cc:36
void RPCGeometry::add ( RPCChamber ch)

Add a RPC roll to the Geometry.

Definition at line 94 of file RPCGeometry.cc.

References allChambers, chamber(), GeomDet::geographicalId(), theDetIds, theDets, and theMap.

Referenced by counter.Counter::register().

94  {
95  allChambers.emplace_back(chamber);
96  theDets.emplace_back(chamber);
97  theDetIds.emplace_back(chamber->geographicalId());
98  theMap.insert(std::pair<DetId,GeomDet*>
100 }
mapIdToDet theMap
Definition: RPCGeometry.h:81
const RPCChamber * chamber(RPCDetId id) const
Definition: RPCGeometry.cc:71
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:79
std::vector< const RPCChamber * > allChambers
Definition: RPCGeometry.h:84
DetIdContainer theDetIds
Definition: RPCGeometry.h:78
DetContainer theDets
Definition: RPCGeometry.h:75
const RPCChamber * RPCGeometry::chamber ( RPCDetId  id) const

Definition at line 71 of file RPCGeometry.cc.

References idToDet().

Referenced by add(), RPCSeedPattern::extropolateStep(), geometryXMLparser.CSCAlignable::index(), MuonSimHitProducer::produce(), and RPCCosmicSeedrecHitFinder::setEdge().

71  {
72  return dynamic_cast<const RPCChamber*>(idToDet(id.chamberId()));
73 }
const GeomDet * idToDet(DetId) const override
Definition: RPCGeometry.cc:53
const std::vector< const RPCChamber * > & RPCGeometry::chambers ( ) const

Return a vector of all RPC chambers.

Definition at line 63 of file RPCGeometry.cc.

References allChambers.

Referenced by RPCGeometryServTest::analyze().

63  {
64  return allChambers;
65 }
std::vector< const RPCChamber * > allChambers
Definition: RPCGeometry.h:84
const RPCGeometry::DetIdContainer & RPCGeometry::detIds ( ) const
overridevirtual

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

Implements TrackingGeometry.

Definition at line 43 of file RPCGeometry.cc.

References theDetIds.

Referenced by RPCCosmicSeedrecHitFinder::setEdge().

43  {
44  return theDetIds;
45 }
DetIdContainer theDetIds
Definition: RPCGeometry.h:78
const RPCGeometry::DetContainer & RPCGeometry::dets ( ) const
overridevirtual
const RPCGeometry::DetTypeContainer & RPCGeometry::detTypes ( ) const
overridevirtual

Return a vector of all det types.

Implements TrackingGeometry.

Definition at line 23 of file RPCGeometry.cc.

References theRollTypes.

Referenced by RPCGeometryServTest::analyze().

23  {
24  return theRollTypes;
25 }
DetTypeContainer theRollTypes
Definition: RPCGeometry.h:76
const RPCGeometry::DetIdContainer & RPCGeometry::detUnitIds ( ) const
overridevirtual

Returm a vector of all GeomDetUnit DetIds.

Implements TrackingGeometry.

Definition at line 38 of file RPCGeometry.cc.

References theRollIds.

38  {
39  return theRollIds;
40 }
DetIdContainer theRollIds
Definition: RPCGeometry.h:77
const RPCGeometry::DetContainer & RPCGeometry::detUnits ( ) const
overridevirtual

Returm a vector of all GeomDet.

Implements TrackingGeometry.

Definition at line 28 of file RPCGeometry.cc.

References theRolls.

Referenced by RPCGeometryServTest::analyze().

28  {
29  return theRolls;
30 }
DetContainer theRolls
Definition: RPCGeometry.h:74
const GeomDet * RPCGeometry::idToDet ( DetId  ) const
overridevirtual

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

Implements TrackingGeometry.

Definition at line 53 of file RPCGeometry.cc.

References relativeConstraints::geom, mps_fire::i, LogDebug, and theMap.

Referenced by MuonRPCDetLayerGeometryBuilder::buildBarrelLayers(), MuonRPCDetLayerGeometryBuilder::buildLayer(), chamber(), idToDetUnit(), TracktoRPC::TracktoRPC(), and TracktoRPC::ValidRPCSurface().

53  {
54  mapIdToDet::const_iterator i = theMap.find(id);
55  if (i != theMap.end())
56  return i->second;
57 
58  LogDebug("RPCGeometry")<<"Invalid DetID: no GeomDet associated "<< RPCDetId(id);
59  GeomDet* geom = nullptr;
60  return geom;
61 }
#define LogDebug(id)
mapIdToDet theMap
Definition: RPCGeometry.h:81
const GeomDet * RPCGeometry::idToDetUnit ( DetId  ) const
overridevirtual

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

Implements TrackingGeometry.

Definition at line 48 of file RPCGeometry.cc.

References idToDet().

Referenced by GlobalHitsAnalyzer::fillMuon(), GlobalHitsProdHist::fillMuon(), GlobalHitsProducer::fillMuon(), RPCDigitizer::findDet(), IRPCDigitizer::findDet(), RPCSeedOverlapper::isShareHit(), MuonSimHitProducer::produce(), roll(), and ValidateGeometry::validateRPCGeometry().

48  {
49  return dynamic_cast<const GeomDet*>(idToDet(id));
50 }
const GeomDet * idToDet(DetId) const override
Definition: RPCGeometry.cc:53
const RPCRoll * RPCGeometry::roll ( RPCDetId  id) const
const std::vector< const RPCRoll * > & RPCGeometry::rolls ( ) const

Member Data Documentation

std::vector<const RPCChamber*> RPCGeometry::allChambers
private

Definition at line 84 of file RPCGeometry.h.

Referenced by add(), and chambers().

std::vector<const RPCRoll*> RPCGeometry::allRolls
private

Definition at line 83 of file RPCGeometry.h.

Referenced by add(), and rolls().

DetIdContainer RPCGeometry::theDetIds
private

Definition at line 78 of file RPCGeometry.h.

Referenced by add(), and detIds().

DetContainer RPCGeometry::theDets
private

Definition at line 75 of file RPCGeometry.h.

Referenced by add(), and dets().

mapIdToDet RPCGeometry::theMap
private

Definition at line 81 of file RPCGeometry.h.

Referenced by add(), and idToDet().

DetIdContainer RPCGeometry::theRollIds
private

Definition at line 77 of file RPCGeometry.h.

Referenced by add(), and detUnitIds().

DetContainer RPCGeometry::theRolls
private

Definition at line 74 of file RPCGeometry.h.

Referenced by add(), and detUnits().

DetTypeContainer RPCGeometry::theRollTypes
private

Definition at line 76 of file RPCGeometry.h.

Referenced by add(), and detTypes().