CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Attributes
TotemRPGeometry Class Reference

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...
 
DetGeomDescGetDetector (unsigned int) const
 returns geometry of a detector performs necessary checks, returns NULL if fails input is raw ID More...
 
const DetGeomDescGetDetector (const TotemRPDetId &id) const
 
const DetGeomDescGetDetector (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
 
DetGeomDescGetRPDevice (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...
 

Detailed Description

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.

Member Typedef Documentation

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.

Definition at line 43 of file TotemRPGeometry.h.

Constructor & Destructor Documentation

TotemRPGeometry::TotemRPGeometry ( )
inline

Definition at line 46 of file TotemRPGeometry.h.

TotemRPGeometry::~TotemRPGeometry ( )
inline

Definition at line 47 of file TotemRPGeometry.h.

TotemRPGeometry::TotemRPGeometry ( const DetGeomDesc gd)
inline

build up from DetGeomDesc

Definition at line 50 of file TotemRPGeometry.h.

Member Function Documentation

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.

mapType::const_iterator TotemRPGeometry::beginDet ( ) const
inline

begin iterator over (silicon) detectors

Definition at line 101 of file TotemRPGeometry.h.

RPDeviceMapType::const_iterator TotemRPGeometry::beginRP ( ) const
inline

begin iterator over RPs

Definition at line 113 of file TotemRPGeometry.h.

char TotemRPGeometry::Build ( const DetGeomDesc gD)

build up from DetGeomDesc structure, return 0 = success

Definition at line 19 of file TotemRPGeometry.cc.

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.

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.

mapType::const_iterator TotemRPGeometry::endDet ( ) const
inline

end iterator over (silicon) detectors

Definition at line 107 of file TotemRPGeometry.h.

RPDeviceMapType::const_iterator TotemRPGeometry::endRP ( ) const
inline

end iterator over RPs

Definition at line 119 of file TotemRPGeometry.h.

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().

const DetGeomDesc* TotemRPGeometry::GetDetector ( const TotemRPDetId id) const
inline

Definition at line 70 of file TotemRPGeometry.h.

const DetGeomDesc* TotemRPGeometry::GetDetector ( const CTPPSDetId id) const
inline

Definition at line 74 of file TotemRPGeometry.h.

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.

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.

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.

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.

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.

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.

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.

CLHEP::Hep3Vector TotemRPGeometry::GlobalToLocal ( unsigned int  id,
const CLHEP::Hep3Vector  r 
) const

Definition at line 238 of file TotemRPGeometry.cc.

CLHEP::Hep3Vector TotemRPGeometry::GlobalToLocalDirection ( unsigned int  id,
const CLHEP::Hep3Vector  dir 
) const

Definition at line 257 of file TotemRPGeometry.cc.

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.

CLHEP::Hep3Vector TotemRPGeometry::LocalToGlobal ( unsigned int  id,
const CLHEP::Hep3Vector  r 
) const

Definition at line 215 of file TotemRPGeometry.cc.

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.

unsigned int TotemRPGeometry::NumberOfDetsIncluded ( ) const
inline

Definition at line 163 of file TotemRPGeometry.h.

DetGeomDesc const* TotemRPGeometry::operator[] ( unsigned int  id) const
inline

same as GetDetector

Definition at line 80 of file TotemRPGeometry.h.

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.

Member Data Documentation

mapSetType TotemRPGeometry::detsInRP
protected

Definition at line 174 of file TotemRPGeometry.h.

mapSetType TotemRPGeometry::rpsInStation
protected

Definition at line 174 of file TotemRPGeometry.h.

mapSetType TotemRPGeometry::stationsInArm
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.

mapType TotemRPGeometry::theMap
protected

map: detectorID –> DetGeomDesc

Definition at line 169 of file TotemRPGeometry.h.

RPDeviceMapType TotemRPGeometry::theRomanPotMap
protected

map: RPID –> DetGeomDesc

Definition at line 170 of file TotemRPGeometry.h.