The manager class for TOTEM RP geometry. More...
#include <CTPPSGeometry.h>
Public Types | |
typedef std::map< unsigned int, std::set< unsigned int > > | mapSetType |
typedef std::map< unsigned int, const DetGeomDesc * > | mapType |
typedef std::map< int, const DetGeomDesc * > | RPDeviceMapType |
Public Member Functions | |
bool | addRP (unsigned int id, const DetGeomDesc *&) |
adds a RP box to a map More... | |
bool | addSensor (unsigned int, const DetGeomDesc *&) |
adds an item to the map (detector ID –> DetGeomDesc) performs necessary checks More... | |
RPDeviceMapType::const_iterator | beginRP () const |
begin iterator over RPs More... | |
mapType::const_iterator | beginSensor () const |
begin iterator over sensors More... | |
void | build (const DetGeomDesc *) |
build up from DetGeomDesc structure More... | |
CTPPSGeometry () | |
CTPPSGeometry (const DetGeomDesc *gd) | |
build up from DetGeomDesc More... | |
RPDeviceMapType::const_iterator | endRP () const |
end iterator over RPs More... | |
mapType::const_iterator | endSensor () const |
end iterator over sensors More... | |
CLHEP::Hep3Vector | globalToLocal (const DetGeomDesc *, const CLHEP::Hep3Vector &) const |
CLHEP::Hep3Vector | globalToLocal (unsigned int, const CLHEP::Hep3Vector &) const |
CLHEP::Hep3Vector | globalToLocalDirection (unsigned int id, const CLHEP::Hep3Vector &) const |
CLHEP::Hep3Vector | localToGlobal (const DetGeomDesc *, const CLHEP::Hep3Vector &) const |
CLHEP::Hep3Vector | localToGlobal (unsigned int, const CLHEP::Hep3Vector &) const |
CLHEP::Hep3Vector | localToGlobalDirection (unsigned int id, const CLHEP::Hep3Vector &) const |
const DetGeomDesc * | rp (unsigned int id) const |
returns geometry of a RP box More... | |
const DetGeomDesc * | rpNoThrow (unsigned int id) const |
const std::set< unsigned int > & | rpsInStation (unsigned int) const |
after checks returns set of RP ids corresponding to the given station id More... | |
CLHEP::Hep3Vector | rpTranslation (unsigned int id) const |
const DetGeomDesc * | sensor (unsigned int id) const |
returns geometry of a detector performs necessary checks, returns NULL if fails More... | |
const DetGeomDesc * | sensorNoThrow (unsigned int id) const |
const std::set< unsigned int > & | sensorsInRP (unsigned int) const |
after checks returns set of sensor ids corresponding to the given RP id More... | |
CLHEP::Hep3Vector | sensorTranslation (unsigned int id) const |
const std::set< unsigned int > & | stationsInArm (unsigned int) const |
after checks returns set of station ids corresponding to the given arm id More... | |
~CTPPSGeometry () | |
Protected Attributes | |
mapSetType | dets_in_rp_ |
mapSetType | rps_in_station_ |
RPDeviceMapType | rps_map_ |
map: rp id –> DetGeomDesc More... | |
mapType | sensors_map_ |
map: sensor id –> DetGeomDesc More... | |
mapSetType | stations_in_arm_ |
map: parent ID -> set of subelements E.g. stations_in_arm_ is map of arm ID -> set of stations (in that arm) More... | |
The manager class for TOTEM RP geometry.
This is kind of "public relation class" for the tree structure of DetGeomDesc. It provides convenient interface to answer frequently asked questions about the geometry of TOTEM Roman Pots. These questions are of type:
Definition at line 33 of file CTPPSGeometry.h.
typedef std::map<unsigned int, std::set<unsigned int> > CTPPSGeometry::mapSetType |
Definition at line 37 of file CTPPSGeometry.h.
typedef std::map<unsigned int, const DetGeomDesc*> CTPPSGeometry::mapType |
Definition at line 35 of file CTPPSGeometry.h.
typedef std::map<int, const DetGeomDesc*> CTPPSGeometry::RPDeviceMapType |
Definition at line 36 of file CTPPSGeometry.h.
|
inline |
Definition at line 39 of file CTPPSGeometry.h.
|
inline |
Definition at line 40 of file CTPPSGeometry.h.
|
inline |
build up from DetGeomDesc
Definition at line 43 of file CTPPSGeometry.h.
References addRP(), addSensor(), build(), noexcept, rp(), rpNoThrow(), sensor(), and sensorNoThrow().
bool CTPPSGeometry::addRP | ( | unsigned int | id, |
const DetGeomDesc *& | gD | ||
) |
adds a RP box to a map
Definition at line 70 of file CTPPSGeometry.cc.
References triggerObjects_cff::id, and rps_map_.
Referenced by build(), and CTPPSGeometry().
bool CTPPSGeometry::addSensor | ( | unsigned int | id, |
const DetGeomDesc *& | gD | ||
) |
adds an item to the map (detector ID –> DetGeomDesc) performs necessary checks
Definition at line 60 of file CTPPSGeometry.cc.
References triggerObjects_cff::id, and sensors_map_.
Referenced by build(), and CTPPSGeometry().
|
inline |
begin iterator over RPs
Definition at line 76 of file CTPPSGeometry.h.
References rps_map_.
Referenced by CTPPSGeometryInfo::printGeometry().
|
inline |
begin iterator over sensors
Definition at line 71 of file CTPPSGeometry.h.
References sensors_map_.
Referenced by CTPPSGeometryInfo::printGeometry().
void CTPPSGeometry::build | ( | const DetGeomDesc * | gD | ) |
build up from DetGeomDesc structure
Definition at line 14 of file CTPPSGeometry.cc.
References addRP(), addSensor(), CTPPSDetId::armId(), edmScanValgrind::buffer, AlCaHLTBitMon_QueryRunRegistry::comp, DetGeomDesc::components(), ztail::d, DDD_CTPPS_DIAMONDS_RP_NAME, DDD_CTPPS_DIAMONDS_SEGMENT_NAME, DDD_CTPPS_PIXELS_RP_NAME, DDD_CTPPS_PIXELS_SENSOR_NAME, DDD_CTPPS_UFSD_SEGMENT_NAME, DDD_TOTEM_RP_RP_NAME, DDD_TOTEM_RP_SENSOR_NAME, DDD_TOTEM_TIMING_RP_NAME, DDD_TOTEM_TIMING_SENSOR_TMPL, dets_in_rp_, DetGeomDesc::geographicalID(), DetGeomDesc::name(), CTPPSDetId::rpId(), rps_in_station_, rps_map_, sensors_map_, CTPPSDetId::stationId(), and stations_in_arm_.
Referenced by CTPPSGeometry().
|
inline |
end iterator over RPs
Definition at line 78 of file CTPPSGeometry.h.
References globalToLocal(), globalToLocalDirection(), localToGlobal(), localToGlobalDirection(), rps_map_, rpsInStation(), rpTranslation(), sensorsInRP(), sensorTranslation(), and stationsInArm().
Referenced by CTPPSGeometryInfo::printGeometry().
|
inline |
end iterator over sensors
Definition at line 73 of file CTPPSGeometry.h.
References sensors_map_.
Referenced by CTPPSGeometryInfo::printGeometry().
CLHEP::Hep3Vector CTPPSGeometry::globalToLocal | ( | const DetGeomDesc * | gd, |
const CLHEP::Hep3Vector & | r | ||
) | const |
Definition at line 159 of file CTPPSGeometry.cc.
References DetGeomDesc::rotation(), and DetGeomDesc::translation().
Referenced by TotemRPDQMSource::analyze(), endRP(), globalToLocal(), and CTPPSDirectProtonSimulation::processProton().
CLHEP::Hep3Vector CTPPSGeometry::globalToLocal | ( | unsigned int | id, |
const CLHEP::Hep3Vector & | r | ||
) | const |
Definition at line 166 of file CTPPSGeometry.cc.
References globalToLocal(), and sensor().
CLHEP::Hep3Vector CTPPSGeometry::globalToLocalDirection | ( | unsigned int | id, |
const CLHEP::Hep3Vector & | dir | ||
) | const |
direction transformations between global and local reference frames
id | sensor id |
Definition at line 178 of file CTPPSGeometry.cc.
References DeadROC_duringRun::dir, DetGeomDesc::rotation(), and sensor().
Referenced by endRP().
CLHEP::Hep3Vector CTPPSGeometry::localToGlobal | ( | const DetGeomDesc * | gd, |
const CLHEP::Hep3Vector & | r | ||
) | const |
coordinate transformations between local<–>global reference frames dimensions in mm sensor id expected
Definition at line 147 of file CTPPSGeometry.cc.
References DetGeomDesc::rotation(), and DetGeomDesc::translation().
Referenced by RPixPlaneCombinatoryTracking::calculatePointOnDetector(), endRP(), RPixRoadFinder::findPattern(), localToGlobal(), CTPPSGeometryInfo::printGeometry(), and CTPPSDirectProtonSimulation::processProton().
CLHEP::Hep3Vector CTPPSGeometry::localToGlobal | ( | unsigned int | id, |
const CLHEP::Hep3Vector & | r | ||
) | const |
Definition at line 153 of file CTPPSGeometry.cc.
References localToGlobal(), and sensor().
CLHEP::Hep3Vector CTPPSGeometry::localToGlobalDirection | ( | unsigned int | id, |
const CLHEP::Hep3Vector & | dir | ||
) | const |
direction transformations between local and global reference frames
id | sensor id |
Definition at line 172 of file CTPPSGeometry.cc.
References DeadROC_duringRun::dir, DetGeomDesc::rotation(), and sensor().
Referenced by TotemRPDQMSource::analyze(), endRP(), and TotemRPLocalTrackFitterAlgorithm::prepareReconstAlgebraData().
const DetGeomDesc * CTPPSGeometry::rp | ( | unsigned int | id | ) | const |
returns geometry of a RP box
Definition at line 100 of file CTPPSGeometry.cc.
References Exception, and rpNoThrow().
Referenced by CTPPSGeometry(), TotemRPUVPatternFinder::produce(), and rpTranslation().
const DetGeomDesc * CTPPSGeometry::rpNoThrow | ( | unsigned int | id | ) | const |
Definition at line 110 of file CTPPSGeometry.cc.
References rps_map_.
Referenced by CTPPSGeometry(), and rp().
const std::set< unsigned int > & CTPPSGeometry::rpsInStation | ( | unsigned int | id | ) | const |
after checks returns set of RP ids corresponding to the given station id
Definition at line 129 of file CTPPSGeometry.cc.
References rps_in_station_.
Referenced by endRP().
CLHEP::Hep3Vector CTPPSGeometry::rpTranslation | ( | unsigned int | id | ) | const |
returns position of a RP box
id | RP id |
Definition at line 191 of file CTPPSGeometry.cc.
References rp().
Referenced by TotemRPDQMSource::analyze(), endRP(), TotemRPLocalTrackFitter::produce(), CTPPSProtonProducer::produce(), and CTPPSPixelLocalTrackProducer::produce().
const DetGeomDesc * CTPPSGeometry::sensor | ( | unsigned int | id | ) | const |
returns geometry of a detector performs necessary checks, returns NULL if fails
Definition at line 80 of file CTPPSGeometry.cc.
References Exception, g, and sensorNoThrow().
Referenced by TotemRPDQMSource::analyze(), TotemTimingDQMSource::analyze(), CTPPSDiamondRecHitProducerAlgorithm::build(), RPixPlaneCombinatoryTracking::calculatePointOnDetector(), channelAlignedWithTrack(), CTPPSGeometry(), CTPPSDiamondDQMSource::dqmBeginRun(), RPixRoadFinder::findPattern(), RPixPlaneCombinatoryTracking::findTracks(), globalToLocal(), globalToLocalDirection(), localToGlobal(), localToGlobalDirection(), RPDisplacementGenerator::RPDisplacementGenerator(), and sensorTranslation().
const DetGeomDesc * CTPPSGeometry::sensorNoThrow | ( | unsigned int | id | ) | const |
Definition at line 90 of file CTPPSGeometry.cc.
References sensors_map_.
Referenced by TotemTimingRecHitProducerAlgorithm::build(), CTPPSGeometry(), TotemTimingDQMSource::dqmBeginRun(), and sensor().
const std::set< unsigned int > & CTPPSGeometry::sensorsInRP | ( | unsigned int | id | ) | const |
after checks returns set of sensor ids corresponding to the given RP id
Definition at line 138 of file CTPPSGeometry.cc.
References dets_in_rp_.
Referenced by endRP(), and CTPPSDirectProtonSimulation::processProton().
CLHEP::Hep3Vector CTPPSGeometry::sensorTranslation | ( | unsigned int | id | ) | const |
returns translation (position) of a detector
id | sensor id |
Definition at line 184 of file CTPPSGeometry.cc.
References sensor().
Referenced by endRP(), and TotemRPLocalTrackFitterAlgorithm::prepareReconstAlgebraData().
const std::set< unsigned int > & CTPPSGeometry::stationsInArm | ( | unsigned int | id | ) | const |
after checks returns set of station ids corresponding to the given arm id
Definition at line 120 of file CTPPSGeometry.cc.
References stations_in_arm_.
Referenced by endRP().
|
protected |
Definition at line 123 of file CTPPSGeometry.h.
Referenced by build(), and sensorsInRP().
|
protected |
Definition at line 123 of file CTPPSGeometry.h.
Referenced by build(), and rpsInStation().
|
protected |
map: rp id –> DetGeomDesc
Definition at line 119 of file CTPPSGeometry.h.
Referenced by addRP(), beginRP(), build(), endRP(), and rpNoThrow().
|
protected |
map: sensor id –> DetGeomDesc
Definition at line 116 of file CTPPSGeometry.h.
Referenced by addSensor(), beginSensor(), build(), endSensor(), and sensorNoThrow().
|
protected |
map: parent ID -> set of subelements E.g. stations_in_arm_ is map of arm ID -> set of stations (in that arm)
Definition at line 123 of file CTPPSGeometry.h.
Referenced by build(), and stationsInArm().