The manager class for TOTEM RP geometry. More...
#include <TotemRPGeometry.h>
Public Types | |
typedef std::map< unsigned int, std::set< unsigned int > > | mapSetType |
typedef std::map< unsigned int, DetGeomDesc * > | mapType |
typedef std::map< int, DetGeomDesc * > | RPDeviceMapType |
Public Member Functions | |
char | AddDetector (unsigned int, const DetGeomDesc *&) |
adds an item to the map (detector ID –> DetGeomDesc) performs necessary checks, returns 0 if succesful More... | |
char | AddRPDevice (unsigned int id, const DetGeomDesc *&det_geom_desc) |
adds a RP package (primary vacuum) to a map More... | |
mapType::const_iterator | beginDet () const |
begin iterator over (silicon) detectors More... | |
RPDeviceMapType::const_iterator | beginRP () const |
begin iterator over RPs More... | |
char | Build (const DetGeomDesc *) |
build up from DetGeomDesc structure, return 0 = success More... | |
void | BuildSets () |
builds maps element ID –> set of subelements (re)builds stationsInArm, rpsInStation, detsInRP out of theMap More... | |
std::set< unsigned int > | DetsInRP (unsigned int) const |
mapType::const_iterator | endDet () const |
end iterator over (silicon) detectors More... | |
RPDeviceMapType::const_iterator | endRP () const |
end iterator over RPs More... | |
DetGeomDesc * | GetDetector (unsigned int) const |
returns geometry of a detector performs necessary checks, returns NULL if fails input is raw ID More... | |
const DetGeomDesc * | GetDetector (const TotemRPDetId &id) const |
const DetGeomDesc * | GetDetector (const CTPPSDetId &id) const |
CLHEP::Hep3Vector | GetDetEdgeNormalVector (unsigned int id) const |
returns a normal vector for the edge of a detector More... | |
CLHEP::Hep3Vector | GetDetEdgePosition (unsigned int id) const |
returns the position of the edge of a detector More... | |
CLHEP::Hep3Vector | GetDetTranslation (unsigned int id) const |
void | GetReadoutDirection (unsigned int id, double &dx, double &dy) const |
DetGeomDesc * | GetRPDevice (unsigned int id) const |
returns geometry of a RP box More... | |
CLHEP::HepRotation | GetRPGlobalRotation (int copy_no) const |
returns number of detectors in the geometry (size of theMap) More... | |
CLHEP::Hep3Vector | GetRPGlobalTranslation (int copy_no) const |
position of a RP package (translation z corresponds to the first plane - TODO check it) More... | |
CLHEP::Hep3Vector | GetRPThinFoilNormalVector (int copy_no) const |
returns a normal vector for the thin foil of a RP box More... | |
CLHEP::Hep3Vector | GetRPThinFoilPosition (int copy_no) const |
returns the (outer) position of the thin foil of a RP box More... | |
CLHEP::Hep3Vector | GlobalToLocal (DetGeomDesc *gd, const CLHEP::Hep3Vector r) const |
CLHEP::Hep3Vector | GlobalToLocal (unsigned int id, const CLHEP::Hep3Vector r) const |
CLHEP::Hep3Vector | GlobalToLocalDirection (unsigned int id, const CLHEP::Hep3Vector dir) const |
CLHEP::Hep3Vector | LocalToGlobal (DetGeomDesc *gd, const CLHEP::Hep3Vector r) const |
CLHEP::Hep3Vector | LocalToGlobal (unsigned int id, const CLHEP::Hep3Vector r) const |
CLHEP::Hep3Vector | LocalToGlobalDirection (unsigned int id, const CLHEP::Hep3Vector dir) const |
unsigned int | NumberOfDetsIncluded () const |
DetGeomDesc const * | operator[] (unsigned int id) const |
same as GetDetector More... | |
std::set< unsigned int > | RPsInStation (unsigned int) const |
after checks returns set of RP corresponding to the given station ID More... | |
std::set< unsigned int > | StationsInArm (unsigned int) const |
after checks returns set of stations corresponding to the given arm ID More... | |
TotemRPGeometry () | |
TotemRPGeometry (const DetGeomDesc *gd) | |
build up from DetGeomDesc More... | |
~TotemRPGeometry () | |
Protected Attributes | |
mapSetType | detsInRP |
mapSetType | rpsInStation |
mapSetType | stationsInArm |
map: parent ID -> set of subelements E.g. stationsInArm is map of arm ID -> set of stations (in that arm) More... | |
mapType | theMap |
map: detectorID –> DetGeomDesc More... | |
RPDeviceMapType | theRomanPotMap |
map: RPID –> DetGeomDesc More... | |
The manager class for TOTEM RP geometry.
See schema of TOTEM RP geometry classes
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:
a) If detector ID is xxx, what is the ID of corresponding station?
b) What is the geometry (shift, roatation, material, etc.) of detector with id xxx?
c) If RP ID is xxx, which are the detector IDs inside this pot?
d) If hit position in local detector coordinate system is xxx, what is the hit position in global c.s.?
etc. (see the comments in definition bellow)
This class is built for both ideal and real geometry. I.e. it is produced by TotemRPIdealGeometryESModule in IdealGeometryRecord and similarly for the real geometry
Definition at line 39 of file TotemRPGeometry.h.
typedef std::map<unsigned int, std::set<unsigned int> > TotemRPGeometry::mapSetType |
Definition at line 44 of file TotemRPGeometry.h.
typedef std::map<unsigned int, DetGeomDesc* > TotemRPGeometry::mapType |
Definition at line 42 of file TotemRPGeometry.h.
typedef std::map<int, DetGeomDesc* > TotemRPGeometry::RPDeviceMapType |
Definition at line 43 of file TotemRPGeometry.h.
|
inline |
Definition at line 46 of file TotemRPGeometry.h.
|
inline |
Definition at line 47 of file TotemRPGeometry.h.
|
inline |
build up from DetGeomDesc
Definition at line 50 of file TotemRPGeometry.h.
References Build().
char TotemRPGeometry::AddDetector | ( | unsigned int | id, |
const DetGeomDesc *& | gD | ||
) |
adds an item to the map (detector ID –> DetGeomDesc) performs necessary checks, returns 0 if succesful
Definition at line 51 of file TotemRPGeometry.cc.
char TotemRPGeometry::AddRPDevice | ( | unsigned int | id, |
const DetGeomDesc *& | det_geom_desc | ||
) |
adds a RP package (primary vacuum) to a map
Definition at line 110 of file TotemRPGeometry.cc.
|
inline |
begin iterator over (silicon) detectors
Definition at line 101 of file TotemRPGeometry.h.
References theMap.
Referenced by GeometryInfoModule::PrintGeometry().
|
inline |
begin iterator over RPs
Definition at line 113 of file TotemRPGeometry.h.
References theRomanPotMap.
Referenced by GeometryInfoModule::PrintGeometry().
char TotemRPGeometry::Build | ( | const DetGeomDesc * | gD | ) |
build up from DetGeomDesc structure, return 0 = success
Definition at line 19 of file TotemRPGeometry.cc.
References DetGeomDesc::components(), ztail::d, DDD_CTPPS_DIAMONDS_DETECTOR_NAME, DDD_TOTEM_RP_DETECTOR_NAME, DDD_TOTEM_RP_PRIMARY_VACUUM_NAME, DetGeomDesc::geographicalID(), i, DDName::name(), DetGeomDesc::name(), and or.
Referenced by TotemRPGeometry().
void TotemRPGeometry::BuildSets | ( | ) |
builds maps element ID –> set of subelements (re)builds stationsInArm, rpsInStation, detsInRP out of theMap
Definition at line 152 of file TotemRPGeometry.cc.
References CTPPSDetId::getArmId(), CTPPSDetId::getRPId(), and CTPPSDetId::getStationId().
std::set< unsigned int > TotemRPGeometry::DetsInRP | ( | unsigned int | id | ) | const |
after checks returns set of detectors corresponding to the given RP ID containts decimal detetector IDs
Definition at line 194 of file TotemRPGeometry.cc.
|
inline |
end iterator over (silicon) detectors
Definition at line 107 of file TotemRPGeometry.h.
References theMap.
Referenced by GeometryInfoModule::PrintGeometry().
|
inline |
end iterator over RPs
Definition at line 119 of file TotemRPGeometry.h.
References theRomanPotMap.
Referenced by GeometryInfoModule::PrintGeometry().
DetGeomDesc * TotemRPGeometry::GetDetector | ( | unsigned int | id | ) | const |
returns geometry of a detector performs necessary checks, returns NULL if fails input is raw ID
Definition at line 64 of file TotemRPGeometry.cc.
Referenced by CTPPSDiamondRecHitProducerAlgorithm::build(), GetDetector(), FastLineRecognition::getGeomData(), and operator[]().
|
inline |
Definition at line 70 of file TotemRPGeometry.h.
References GetDetector().
|
inline |
Definition at line 74 of file TotemRPGeometry.h.
References GetDetector().
CLHEP::Hep3Vector TotemRPGeometry::GetDetEdgeNormalVector | ( | unsigned int | id | ) | const |
returns a normal vector for the edge of a detector
Definition at line 103 of file TotemRPGeometry.cc.
References mathSSE::sqrt().
CLHEP::Hep3Vector TotemRPGeometry::GetDetEdgePosition | ( | unsigned int | id | ) | const |
returns the position of the edge of a detector
Definition at line 84 of file TotemRPGeometry.cc.
References mathSSE::sqrt(), and x().
CLHEP::Hep3Vector TotemRPGeometry::GetDetTranslation | ( | unsigned int | id | ) | const |
returns translation (position) of a detector raw ID as input
Definition at line 264 of file TotemRPGeometry.cc.
References tmp, DetGeomDesc::translation(), and x().
Referenced by TotemRPLocalTrackFitterAlgorithm::prepareReconstAlgebraData().
void TotemRPGeometry::GetReadoutDirection | ( | unsigned int | id, |
double & | dx, | ||
double & | dy | ||
) | const |
returns (the transverse part of) the readout direction in global coordinates raw ID expected
Definition at line 276 of file TotemRPGeometry.cc.
References ztail::d.
Referenced by GeometryInfoModule::PrintGeometry().
DetGeomDesc * TotemRPGeometry::GetRPDevice | ( | unsigned int | id | ) | const |
returns geometry of a RP box
Definition at line 123 of file TotemRPGeometry.cc.
CLHEP::HepRotation TotemRPGeometry::GetRPGlobalRotation | ( | int | copy_no | ) | const |
returns number of detectors in the geometry (size of theMap)
Definition at line 297 of file TotemRPGeometry.cc.
References makeMuonMisalignmentScenario::rot, and create_public_lumi_plots::xy.
CLHEP::Hep3Vector TotemRPGeometry::GetRPGlobalTranslation | ( | int | copy_no | ) | const |
position of a RP package (translation z corresponds to the first plane - TODO check it)
Definition at line 285 of file TotemRPGeometry.cc.
References tmp, DetGeomDesc::translation(), and x().
CLHEP::Hep3Vector TotemRPGeometry::GetRPThinFoilNormalVector | ( | int | copy_no | ) | const |
returns a normal vector for the thin foil of a RP box
Definition at line 145 of file TotemRPGeometry.cc.
CLHEP::Hep3Vector TotemRPGeometry::GetRPThinFoilPosition | ( | int | copy_no | ) | const |
returns the (outer) position of the thin foil of a RP box
Definition at line 136 of file TotemRPGeometry.cc.
CLHEP::Hep3Vector TotemRPGeometry::GlobalToLocal | ( | DetGeomDesc * | gd, |
const CLHEP::Hep3Vector | r | ||
) | const |
Definition at line 227 of file TotemRPGeometry.cc.
References alignCSCRings::r, DetGeomDesc::rotation(), tmp, DetGeomDesc::translation(), and x().
CLHEP::Hep3Vector TotemRPGeometry::GlobalToLocal | ( | unsigned int | id, |
const CLHEP::Hep3Vector | r | ||
) | const |
Definition at line 238 of file TotemRPGeometry.cc.
References alignCSCRings::r, DetGeomDesc::rotation(), tmp, DetGeomDesc::translation(), and x().
CLHEP::Hep3Vector TotemRPGeometry::GlobalToLocalDirection | ( | unsigned int | id, |
const CLHEP::Hep3Vector | dir | ||
) | const |
Definition at line 257 of file TotemRPGeometry.cc.
References dir, and idealTransformation::rotation.
CLHEP::Hep3Vector TotemRPGeometry::LocalToGlobal | ( | DetGeomDesc * | gd, |
const CLHEP::Hep3Vector | r | ||
) | const |
coordinate transformations between local<–>global reference frames dimensions in mm, raw ID expected
Definition at line 204 of file TotemRPGeometry.cc.
References alignCSCRings::r, DetGeomDesc::rotation(), tmp, DetGeomDesc::translation(), and x().
CLHEP::Hep3Vector TotemRPGeometry::LocalToGlobal | ( | unsigned int | id, |
const CLHEP::Hep3Vector | r | ||
) | const |
Definition at line 215 of file TotemRPGeometry.cc.
References alignCSCRings::r, DetGeomDesc::rotation(), tmp, DetGeomDesc::translation(), and x().
CLHEP::Hep3Vector TotemRPGeometry::LocalToGlobalDirection | ( | unsigned int | id, |
const CLHEP::Hep3Vector | dir | ||
) | const |
direction transformations between local<–>global reference frames (dimensions in mm), raw ID expected
Definition at line 250 of file TotemRPGeometry.cc.
References dir.
Referenced by FastLineRecognition::getGeomData(), and TotemRPLocalTrackFitterAlgorithm::prepareReconstAlgebraData().
|
inline |
Definition at line 163 of file TotemRPGeometry.h.
References theMap.
|
inline |
same as GetDetector
Definition at line 80 of file TotemRPGeometry.h.
References GetDetector().
std::set< unsigned int > TotemRPGeometry::RPsInStation | ( | unsigned int | id | ) | const |
after checks returns set of RP corresponding to the given station ID
Definition at line 184 of file TotemRPGeometry.cc.
std::set< unsigned int > TotemRPGeometry::StationsInArm | ( | unsigned int | id | ) | const |
after checks returns set of stations corresponding to the given arm ID
Definition at line 174 of file TotemRPGeometry.cc.
|
protected |
Definition at line 174 of file TotemRPGeometry.h.
|
protected |
Definition at line 174 of file TotemRPGeometry.h.
|
protected |
map: parent ID -> set of subelements E.g. stationsInArm is map of arm ID -> set of stations (in that arm)
Definition at line 174 of file TotemRPGeometry.h.
|
protected |
map: detectorID –> DetGeomDesc
Definition at line 169 of file TotemRPGeometry.h.
Referenced by beginDet(), endDet(), and NumberOfDetsIncluded().
|
protected |
map: RPID –> DetGeomDesc
Definition at line 170 of file TotemRPGeometry.h.