![]() |
Belle II Software
release-08-02-05
|
Define the geometry of a BKLM module Each sector [octant] contains Modules. More...
#include <Module.h>

Public Member Functions | |
| Module (void) | |
| Empty constructor does nothing. | |
| Module (double phiStripWidth, int phiStripMin, int phiStripMax, double zStripWidth, int zStripNumber, const CLHEP::Hep3Vector &globalOrigin, const CLHEP::Hep3Vector &localReconstructionShift, const CLHEP::HepRotation &rotation) | |
| Constructor with explicit values (for RPC module) | |
| Module (double stripWidth, int phiStripNumber, int phiSensorSide, int zStripNumber, const CLHEP::Hep3Vector &globalOrigin, const CLHEP::Hep3Vector &localReconstructionShift, const CLHEP::HepRotation &rotation, bool isFlipped) | |
| Constructor with explicit values (for scint module) | |
| Module (const Module &m) | |
| Copy constructor. | |
| Module & | operator= (const Module &m) |
| Assignment operator: utilizes copy constructor. | |
| ~Module () | |
| Destructor. | |
| bool | isFlipped () const |
| Determine if this module is flipped by 180 degrees about z axis within its air gap. | |
| bool | hasRPCs () const |
| Determine if this module contains RPCs (true) or scintillators (false) | |
| int | getPhiStripMin () const |
| Get module's phi-strip minimum index. | |
| int | getPhiStripMax () const |
| Get module's phi-strip maximum index. | |
| double | getPhiStripWidth () const |
| Get phi-strip width. | |
| int | getZStripMin () const |
| Get module's z-strip minimum index. | |
| int | getZStripMax () const |
| Get module's z-strip maximum index. | |
| double | getZStripWidth () const |
| Get z-strip width. | |
| void | addPhiScint (int scint, double length, double offset, double position) |
| Add one phi-measuring scintillator strip to the module. | |
| void | addZScint (int scint, double length, double offset, double position) |
| Add one z-measuring scintillator strip to the module. | |
| double | getPhiScintHalfLength (int scint) const |
| Get the half-length (within the scintillator envelope) of a given phi-measuring scintillator. | |
| double | getPhiScintOffset (int scint) const |
| Get the longitudinal offset (within the scintillator envelope) of a given phi-measuring scintillator. | |
| double | getPhiScintPosition (int scint) const |
| Get the transverse position (within the scintillator envelope) of a given phi-measuring scintillator. | |
| double | getZScintHalfLength (int scint) const |
| Get the half-length (within the scintillator envelope) of a given z-measuring scintillator. | |
| double | getZScintOffset (int scint) const |
| Get the longitudinal offset (within the scintillator envelope) of a given z-measuring scintillator. | |
| double | getZScintPosition (int scint) const |
| Get the transverse position (within the scintillator envelope) of a given z-measuring scintillator. | |
| double | getStripLength (int plane, int strip) const |
| Get scintillator length. | |
| const CLHEP::Hep3Vector | getLocalPosition (double phiStripAve, double zStripAve) const |
| Convert 2D strip position (0..nStrips along each axis) to local coordinates. | |
| const CLHEP::Hep3Vector | getPropagationDistance (const CLHEP::Hep3Vector &) const |
| Convert local coordinates to signal-propagation distance (cm). More... | |
| double | getPropagationDistance (const CLHEP::Hep3Vector &local, int strip, bool phiReadout) const |
| Convert local coordinates to signal-propagation distance (cm) Version for scintillators. More... | |
| const CLHEP::Hep3Vector | getPropagationDistance (const CLHEP::Hep3Vector &, int stripZ, int stripPhi) const |
| Convert local coordinates to signal-propagation distance (cm) Version for scintillators. | |
| const CLHEP::Hep3Vector | getPropagationTimes (const CLHEP::Hep3Vector &) const |
| Convert local coordinates to signal-propagation time (ns) Version for RPCs. | |
| double | getPropagationTime (const CLHEP::Hep3Vector &local, int strip, bool phiReadout) const |
| Convert local coordinates to signal-propagation time (ns) Version for scintillators. | |
| const CLHEP::Hep3Vector | getPropagationTimes (const CLHEP::Hep3Vector &, int stripZ, int stripPhi) const |
| Convert local coordinates to signal-propagation time (ns) Version for scintillators. | |
| double | getPhiStrip (const CLHEP::Hep3Vector &p) const |
| Return phi strip (including fractional part) corresponding to local phi coordinate. | |
| double | getZStrip (const CLHEP::Hep3Vector &p) const |
| Return z strip (including fractional part) corresponding to local z coordinate. | |
| int | getPhiStripNumber (const CLHEP::Hep3Vector &p) const |
| Get phi strip corresponding to local phi coordinate. More... | |
| int | getZStripNumber (const CLHEP::Hep3Vector &p) const |
| Get z strip corresponding to local z coordinate. More... | |
| const CLHEP::Hep3Vector | localToGlobal (const CLHEP::Hep3Vector &v, bool reco=false) const |
| Transform space-point within this module from local to global coordinates. More... | |
| const CLHEP::Hep3Vector | RotateToLocal (const CLHEP::Hep3Vector &v) const |
| Rotate a vector from global to local system. | |
| const CLHEP::Hep3Vector | RotateToGlobal (const CLHEP::Hep3Vector &v) const |
| Rotate a vector from local to global system. | |
| const CLHEP::Hep3Vector | globalToLocal (const CLHEP::Hep3Vector &v, bool reco=false) const |
| Transform space-point within this module from global to local coordinates. More... | |
| const CLHEP::Hep3Vector | getLocalReconstructionShift () const |
| Return the local-coordinate real-vs-ideal translation of this module's sensitive volume; nominally (0,0,0) | |
| const CLHEP::Hep3Vector | getGlobalOrigin () const |
| Return the position (in global coordinates) of this module's sensitive-volume origin. | |
| void | setAlignment (const HepGeom::Transform3D &moduleAlignment) |
| Set the alignment Transformation. | |
| void | setDisplacedGeo (const HepGeom::Transform3D &moduleDisplacedGeo) |
| Set the displaced geometry Transformation. | |
| const HepGeom::Transform3D | getAlignment () const |
| Get the alignment Transformation. | |
| const HepGeom::Transform3D | getDisplacedGeo () const |
| Get the displaced geometry Transformation. | |
| const CLHEP::HepRotation | getRotationFromTransform3D (const HepGeom::Transform3D &trans) const |
| Get the rotation from Transform3D. | |
| const CLHEP::Hep3Vector | getTranslationFromTransform3D (const HepGeom::Transform3D &trans) const |
| Get the translation from Transform3D. | |
Private Attributes | |
| bool | m_HasRPCs |
| flag to indicate whether this module contains RPCs (true) or scintillators (false) | |
| bool | m_IsFlipped |
| flag to indicate if this module is flipped by 180 degrees about z axis within its air gap | |
| double | m_PhiStripWidth |
| to store the width (in cm) of each phi strip this module | |
| int | m_PhiStripMin |
| to store the minimum phi strip number in this module | |
| int | m_PhiStripMax |
| to store the maximum phi strip number in this module | |
| double | m_PhiPositionBase |
| to store the base position (in strip More... | |
| double | m_ZStripWidth |
| to store the width (in cm) of each z strip in this module | |
| int | m_ZStripMin |
| to store the minimum z strip number in this module | |
| int | m_ZStripMax |
| to store the maximum z strip number in this module | |
| double | m_ZPositionBase |
| to store the base position (in strip More... | |
| int | m_PhiSensorSide |
| to store the sensor side for phi scintillators | |
| double | m_SignalSpeed |
| to store the signal-propagation speed (cm/ns) along the strip | |
| CLHEP::Hep3Vector | m_GlobalOrigin |
| to store the position (in global coordinates) of this module's sensitive-volume origin | |
| CLHEP::Hep3Vector | m_LocalReconstructionShift |
| to store the local-coordinate real-vs-ideal translation of this module's sensitive volume | |
| CLHEP::HepRotation | m_Rotation |
| to store the rotation matrix (in global coordinates) of this module's sector | |
| CLHEP::HepRotation | m_RotationInverse |
| to store the inverse of the rotation matrix (in global coordinates) of this module's sector | |
| HepGeom::Transform3D | m_Alignment |
| alignment transformation (rotation + shift) | |
| CLHEP::HepRotation | m_AlignmentRotation |
| rotation of the alignment transformation | |
| CLHEP::Hep3Vector | m_AlignmentTranslation |
| translation of the alignment transformation | |
| HepGeom::Transform3D | m_AlignmentInverse |
| inverse of alignment transformation | |
| CLHEP::HepRotation | m_AlignmentRotationInverse |
| inverse of the rotation of the alignment transformation | |
| HepGeom::Transform3D | m_DisplacedGeo |
| displaced geometry w.r.t the nominal geometry, as transformation (rotation + shift) | |
| CLHEP::HepRotation | m_DisplacedGeoRotation |
| rotation of the displaced geometry transformation | |
| CLHEP::Hep3Vector | m_DisplacedGeoTranslation |
| translation of the displaced geometry transformation | |
| HepGeom::Transform3D | m_DisplacedGeoInverse |
| inverse of displaced geometry transformation | |
| CLHEP::HepRotation | m_DisplacedGeoRotationInverse |
| inverse of the rotation of displaced geometry transformation | |
| std::vector< double > | m_PhiScintLengths |
| to store the length of each phi-measuring scintillator | |
| std::vector< double > | m_PhiScintPositions |
| to store the transverse position (within scintillator envelope) of each phi-measuring scintillator | |
| std::vector< double > | m_PhiScintOffsets |
| to store the longitudinal offset (within scintillator envelope) of each phi-measuring scintillator | |
| std::vector< double > | m_ZScintLengths |
| to store the length of each z-measuring scintillator | |
| std::vector< double > | m_ZScintPositions |
| to store the transverse position (within scintillator envelope) of each z-measuring scintillator | |
| std::vector< double > | m_ZScintOffsets |
| to store the longitudinal offset (within scintillator envelope) of each z-measuring scintillator | |
Define the geometry of a BKLM module Each sector [octant] contains Modules.
Sectors are numbered 1..8, moving counterclockwise around the global z axis in the global x-y plane. The local geometry of a sector and its modules is defined by the orientation of sector 1 (centred on the global +x axis).
SECTOR 1 GLOBAL COORDINATES SECTOR s LOCAL COORDINATES
+y _ +y _ ^ / | ^ / | | / | | / | | / | |/ | | / | /| | | | end | || end |
The sector's local origin is shifted along the global z axis so that it is at the boundary between the forward and backward barrel KLM.
The sector's local origin is shifted along the local +x axis so that it coincides with the middle of the layer-1 gap (=slot between iron layers); outer layers are at larger values of sector-local x. The module's local origin is shifted along the local x axis so that it is in the middle of the module's sensitive volume. The module's local origin is also shifted slightly along the local y and z axes so that it is in the middle of the sensitive volume along the local y axis and at the edge nearest the local origin of the sensitive volume along the local z axis.
For the backward sectors, the module is rotated by 180 degrees about the +x axis so that the orientation of the local z axis is flipped from the global orientation so that all modules extend along the local +z axis from the local z=0 (which is nearest the forward-backward boundary).
Strip numbering for RPCs: z-measuring strips: #1 is nearest the I.P., sensors are at the other end phi-measuring strips: #1 is on the local -y end, sensors are at the local +y end
Strip numbering for scintillatorss: z-measuring strips: #1 is nearest the I.P., sensors are at the other end phi-measuring strips: if phiSensorSide > 0: #1 is on the local -y end, sensors are at the local +y end if phiSensorSide < 0: #1 is on the local +y end, sensors are at the local -y end
| int getPhiStripNumber | ( | const CLHEP::Hep3Vector & | p | ) | const |
Get phi strip corresponding to local phi coordinate.
Definition at line 349 of file Module.cc.
| const CLHEP::Hep3Vector getPropagationDistance | ( | const CLHEP::Hep3Vector & | local | ) | const |
| double getPropagationDistance | ( | const CLHEP::Hep3Vector & | local, |
| int | strip, | ||
| bool | phiReadout | ||
| ) | const |
| int getZStripNumber | ( | const CLHEP::Hep3Vector & | p | ) | const |
| const CLHEP::Hep3Vector globalToLocal | ( | const CLHEP::Hep3Vector & | v, |
| bool | reco = false |
||
| ) | const |
| const CLHEP::Hep3Vector localToGlobal | ( | const CLHEP::Hep3Vector & | v, |
| bool | reco = false |
||
| ) | const |
|
private |
|
private |