24 std::deque<const DetGeomDesc *>
buffer;
25 buffer.emplace_back(gD);
26 while ( !buffer.empty() ) {
90 throw cms::Exception(
"CTPPSGeometry") <<
"Not found detector with ID " <<
id <<
", i.e. " 103 throw cms::Exception(
"CTPPSGeometry") <<
"Not found RP device with ID " <<
id <<
", i.e. " 110 const std::set<unsigned int>&
115 throw cms::Exception(
"CTPPSGeometry") <<
"Arm with ID " <<
id <<
" not found.";
121 const std::set<unsigned int>&
126 throw cms::Exception(
"CTPPSGeometry") <<
"Station with ID " <<
id <<
" not found.";
132 const std::set<unsigned int>&
137 throw cms::Exception(
"CTPPSGeometry") <<
"RP with ID " <<
id <<
" not found.";
195 return CLHEP::Hep3Vector( gd->translation().x(), gd->translation().y(), gd->translation().z() );
203 auto gd =
getRP(
id );
204 return CLHEP::Hep3Vector( gd->translation().x(), gd->translation().y(), gd->translation().z() );
const std::string DDD_CTPPS_PIXELS_RP_NAME
DDRotationMatrix rotation() const
geometry information
const std::set< unsigned int > & getStationsInArm(unsigned int) const
after checks returns set of station ids corresponding to the given arm id
mapSetType stations_in_arm_
map: parent ID -> set of subelements E.g. stations_in_arm_ is map of arm ID -> set of stations (in th...
CTPPSDetId getStationId() const
const std::set< unsigned int > & getRPsInStation(unsigned int) const
after checks returns set of RP ids corresponding to the given station id
const std::string DDD_CTPPS_DIAMONDS_SEGMENT_NAME
const DetGeomDesc * getSensor(unsigned int id) const
returns geometry of a detector performs necessary checks, returns NULL if fails
void build(const DetGeomDesc *)
build up from DetGeomDesc structure
virtual ConstContainer components() const
access to the tree structure
Geometrical description of a sensor.
DDTranslation translation() const
CTPPSDetId getRPId() const
CLHEP::Hep3Vector localToGlobal(const DetGeomDesc *, const CLHEP::Hep3Vector &) const
CLHEP::Hep3Vector getRPTranslation(unsigned int id) const
CTPPSDetId getArmId() const
const std::string DDD_TOTEM_RP_RP_NAME
DDD names of RP volumes.
mapSetType rps_in_station_
virtual DetId geographicalID() const
CLHEP::Hep3Vector localToGlobalDirection(unsigned int id, const CLHEP::Hep3Vector &) const
const std::string DDD_CTPPS_DIAMONDS_RP_NAME
RPDeviceMapType rps_map_
map: rp id –> DetGeomDesc
CLHEP::Hep3Vector globalToLocalDirection(unsigned int id, const CLHEP::Hep3Vector &) const
Base class for CTPPS detector IDs.
bool addSensor(unsigned int, const DetGeomDesc *&)
adds an item to the map (detector ID –> DetGeomDesc) performs necessary checks
const std::string DDD_TOTEM_RP_SENSOR_NAME
DDD names of sensors.
CLHEP::Hep3Vector getSensorTranslation(unsigned int id) const
const std::set< unsigned int > & getSensorsInRP(unsigned int) const
after checks returns set of sensor ids corresponding to the given RP id
const std::string DDD_CTPPS_PIXELS_SENSOR_NAME
mapType sensors_map_
map: sensor id –> DetGeomDesc
CLHEP::Hep3Vector globalToLocal(const DetGeomDesc *, const CLHEP::Hep3Vector &) const
const std::string & name() const
Returns the name.
const DetGeomDesc * getRP(unsigned int id) const
returns geometry of a RP box
bool addRP(unsigned int id, const DetGeomDesc *&)
adds a RP box to a map