![]() |
![]() |
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... | |
DetGeomDesc const * | GetDetector (const TotemRPDetId &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 38 of file TotemRPGeometry.h.
typedef std::map<unsigned int, std::set<unsigned int> > TotemRPGeometry::mapSetType |
Definition at line 43 of file TotemRPGeometry.h.
typedef std::map<unsigned int, DetGeomDesc* > TotemRPGeometry::mapType |
Definition at line 41 of file TotemRPGeometry.h.
typedef std::map<int, DetGeomDesc* > TotemRPGeometry::RPDeviceMapType |
Definition at line 42 of file TotemRPGeometry.h.
|
inline |
Definition at line 45 of file TotemRPGeometry.h.
|
inline |
Definition at line 46 of file TotemRPGeometry.h.
|
inline |
build up from DetGeomDesc
Definition at line 49 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 50 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 109 of file TotemRPGeometry.cc.
|
inline |
begin iterator over (silicon) detectors
Definition at line 96 of file TotemRPGeometry.h.
References theMap.
Referenced by GeometryInfoModule::PrintGeometry().
|
inline |
begin iterator over RPs
Definition at line 108 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_TOTEM_RP_DETECTOR_NAME, DDD_TOTEM_RP_PRIMARY_VACUUM_NAME, DetGeomDesc::geographicalID(), i, DDName::name(), and DetGeomDesc::name().
Referenced by TotemRPGeometry().
void TotemRPGeometry::BuildSets | ( | ) |
builds maps element ID –> set of subelements (re)builds stationsInArm, rpsInStation, detsInRP out of theMap
Definition at line 151 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 193 of file TotemRPGeometry.cc.
|
inline |
end iterator over (silicon) detectors
Definition at line 102 of file TotemRPGeometry.h.
References theMap.
Referenced by GeometryInfoModule::PrintGeometry().
|
inline |
end iterator over RPs
Definition at line 114 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 63 of file TotemRPGeometry.cc.
Referenced by GetDetector(), FastLineRecognition::getGeomData(), and operator[]().
|
inline |
Definition at line 69 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 102 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 83 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 263 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 275 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 122 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 296 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 284 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 144 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 135 of file TotemRPGeometry.cc.
CLHEP::Hep3Vector TotemRPGeometry::GlobalToLocal | ( | DetGeomDesc * | gd, |
const CLHEP::Hep3Vector | r | ||
) | const |
Definition at line 226 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 237 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 256 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 203 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 214 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 249 of file TotemRPGeometry.cc.
References dir.
Referenced by FastLineRecognition::getGeomData(), and TotemRPLocalTrackFitterAlgorithm::prepareReconstAlgebraData().
|
inline |
Definition at line 158 of file TotemRPGeometry.h.
References theMap.
|
inline |
same as GetDetector
Definition at line 75 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 183 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 173 of file TotemRPGeometry.cc.
|
protected |
Definition at line 169 of file TotemRPGeometry.h.
|
protected |
Definition at line 169 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 169 of file TotemRPGeometry.h.
|
protected |
map: detectorID –> DetGeomDesc
Definition at line 164 of file TotemRPGeometry.h.
Referenced by beginDet(), endDet(), and NumberOfDetsIncluded().
|
protected |
map: RPID –> DetGeomDesc
Definition at line 165 of file TotemRPGeometry.h.