![]() |
Project
|
#include <GeometryTGeo.h>
Inherits o2::detectors::DetMatrixCache.
Public Types | |
| using | Mat3D = o2::math_utils::Transform3D |
Public Types inherited from o2::detectors::DetMatrixCache | |
| typedef o2::math_utils::Transform3D | Mat3D |
| typedef o2::math_utils::Rotation2Df_t | Rot2D |
Public Member Functions | |
| GeometryTGeo (bool build=false, int loadTrans=0) | |
| ~GeometryTGeo () | |
| void | Build (int loadTrans) |
| void | fillMatrixCache (int mask) |
| int | getNumberOfChips () const |
| int | extractNumberOfLayersMLOT () |
| Determines the number of active parts in the Geometry. | |
| int | extractNumberOfLayersVD () const |
| int | extractNumberOfPetalsVD () const |
| int | extractNumberOfActivePartsVD () const |
| int | extractNumberOfDisksVD () const |
| int | extractNumberOfChipsPerPetalVD () const |
| int | extractNumberOfStavesMLOT (int lay) const |
| int | extractNumberOfHalfStavesMLOT (int lay) const |
| int | extractNumberOfModulesMLOT (int lay) const |
| int | extractNumberOfChipsMLOT (int lay) const |
| int | extractVolumeCopy (const char *name, const char *prefix) const |
| Extract number following the prefix in the name string. | |
| int | getNumberOfLayersMLOT () const |
| int | getNumberOfActivePartsVD () const |
| int | getNumberOfHalfStaves (int lay) const |
| bool | isOwner () const |
| void | setOwner (bool v) |
| void | Print (Option_t *opt="") const |
| void | PrintChipID (int index, int subDetID, int petalcase, int disk, int lay, int stave, int halfstave, int mod, int chip) const |
| int | getSubDetID (int index) const |
| int | getPetalCase (int index) const |
| int | getDisk (int index) const |
| int | getLayer (int index) const |
| local layer index within the sub-detector (0-based per VD/MLOT) | |
| int | getLayerTRK (int index) const |
| global layer index across the full TRK (VD layers 0..nVD-1, MLOT layers nVD..nTotal-1) | |
| int | getStave (int index) const |
| int | getHalfStave (int index) const |
| int | getModule (int index) const |
| int | getChip (int index) const |
| void | defineMLOTSensors () |
| int | getBarrelLayer (int) const |
| void | extractSensorXAlphaMLOT (int, float &, float &) |
| bool | isTrackingFrameCachedMLOT () const |
| void | fillTrackingFramesCacheMLOT () |
| float | getSensorRefAlphaMLOT (int chipId) const |
| float | getSensorXMLOT (int chipId) const |
| TGeoHMatrix & | createT2LMatrixMLOT (int) |
| unsigned short | getChipIndex (int subDetID, int petalcase, int disk, int lay, int stave, int halfstave, int mod, int chip) const |
| unsigned short | getChipIndex (int subDetID, int volume, int lay, int stave, int halfstave, int mod, int chip) const |
| bool | getChipID (int index, int &subDetID, int &petalcase, int &disk, int &lay, int &stave, int &halfstave, int &mod, int &chip) const |
| unsigned short | getLastChipIndex (int lay) const |
| unsigned short | getFirstChipIndex (int lay, int petalcase, int subDetID) const |
| TGeoHMatrix * | extractMatrixSensor (int index) const |
| TString | getMatrixPath (int index) const |
Public Member Functions inherited from o2::detectors::DetMatrixCache | |
| DetMatrixCache ()=default | |
| DetMatrixCache (const o2::detectors::DetID &id) | |
| virtual | ~DetMatrixCache ()=default |
| this may serve as a base class for detector interface to geometry, make it virtual | |
| DetMatrixCache (const DetMatrixCache &src)=delete | |
| DetMatrixCache & | operator= (const DetMatrixCache &geom)=delete |
| const o2::detectors::DetID & | getDetID () const |
| const char * | getName () const |
| const MatrixCache< Mat3D > & | getCacheT2L () const |
| const MatrixCache< Mat3D > & | getCacheT2G () const |
| const MatrixCache< Mat3D > & | getCacheL2G () const |
| const MatrixCache< Rot2D > & | getCacheT2GRot () const |
| const Mat3D & | getMatrixT2L (int sensID) const |
| const Mat3D & | getMatrixT2G (int sensID) const |
| const Mat3D & | getMatrixL2G (int sensID) const |
| const Rot2D & | getMatrixT2GRot (int sensID) const |
| bool | isBuilt () const |
| int | getSize () const |
| void | setSize (int s) |
| MatrixCache< Mat3D > & | getCacheT2L () |
| MatrixCache< Mat3D > & | getCacheT2G () |
| MatrixCache< Mat3D > & | getCacheL2G () |
| MatrixCache< Rot2D > & | getCacheT2GRot () |
| ClassDef (DetMatrixCache, 1) | |
Protected Attributes | |
| Int_t | mNumberOfLayersMLOT |
| number of layers | |
| Int_t | mNumberOfActivePartsVD |
| number of layers | |
| Int_t | mNumberOfLayersVD |
| number of layers | |
| Int_t | mNumberOfPetalsVD |
| number of Petals = chip in each VD layer | |
| Int_t | mNumberOfDisksVD |
| number of Disks = 6 | |
| std::vector< int > | mNumberOfStaves |
| Number Of Staves per layer in ML/OT. | |
| std::vector< int > | mNumberOfHalfStaves |
| Number Of Half staves in each stave of the layer in ML/OT. | |
| std::vector< int > | mNumberOfModules |
| Number Of Modules per stave (half stave) in ML/OT. | |
| std::vector< int > | mNumberOfChips |
| number of chips per module in ML/OT | |
| std::vector< int > | mNumberOfChipsPerLayerVD |
| number of chips per layer VD ( = number of petals) | |
| std::vector< int > | mNumberOfChipsPerLayerMLOT |
| number of chips per layer MLOT | |
| std::vector< int > | mNumbersOfChipPerDiskVD |
| numbersOfChipPerDiskVD | |
| std::vector< int > | mNumberOfChipsPerPetalVD |
| numbersOfChipPerPetalVD | |
| std::vector< unsigned short > | mLastChipIndex |
| max ID of the detctor in the petal(VD) or layer(MLOT) | |
| std::vector< unsigned short > | mLastChipIndexVD |
| max ID of the detctor in the layer for the VD | |
| std::vector< unsigned short > | mLastChipIndexMLOT |
| max ID of the detctor in the layer for the MLOT | |
| std::array< char, MAXLAYERS > | mLayerToWrapper |
| Layer to wrapper correspondence, not implemented yet. | |
| bool | mOwner = true |
| std::vector< int > | sensorsMLOT |
| is it owned by the singleton? | |
| std::vector< float > | mCacheRefXMLOT |
| std::vector< float > | mCacheRefAlphaMLOT |
| cache for X of ML and OT | |
| eMLOTLayout | mLayoutMLOT |
| cache for sensor ref alpha ML and OT | |
Static Protected Attributes | |
| static constexpr int | MAXLAYERS = 20 |
| max number of active layers | |
| static std::string | sVolumeName = "TRKV" |
| static std::string | sServiceVolName = "TRKService" |
| static std::string | sLayerName = "TRKLayer" |
| static std::string | sPetalAssemblyName = "PETAL" |
| static std::string | sPetalName = "PETALCASE" |
| static std::string | sPetalDiskName = "DISK" |
| static std::string | sPetalLayerName = "LAYER" |
| static std::string | sStaveName = "TRKStave" |
| static std::string | sHalfStaveName = "TRKHalfStave" |
| static std::string | sModuleName = "TRKModule" |
| static std::string | sChipName = "TRKChip" |
| static std::string | sSensorName = "TRKSensor" |
| static std::string | sDeadzoneName = "TRKDeadzone" |
| static std::string | sMetalStackName = "TRKMetalStack" |
| static std::string | sWrapperVolumeName = "TRKUWrapVol" |
| Wrapper volume name, not implemented at the moment. | |
Additional Inherited Members | |
Public Attributes inherited from o2::detectors::DetMatrixCache | |
| o2::detectors::DetID | mDetID |
| detector ID | |
| int | mSize = 0 |
| prebooked number of sensors | |
| MatrixCache< Mat3D > | mL2G |
| Local to Global matrices. | |
| MatrixCache< Mat3D > | mT2L |
| Tracking to Local matrices. | |
| MatrixCache< Mat3D > | mT2G |
| Tracking to Global matrices (general case) | |
| MatrixCache< Rot2D > | mT2GRot |
| Tracking to Global matrices in case of barrel (simple rotation) | |
Definition at line 24 of file GeometryTGeo.h.
Definition at line 27 of file GeometryTGeo.h.
| o2::trk::GeometryTGeo::GeometryTGeo | ( | bool | build = false, |
| int | loadTrans = 0 |
||
| ) |
Definition at line 53 of file GeometryTGeo.cxx.
| o2::trk::GeometryTGeo::~GeometryTGeo | ( | ) |
Definition at line 46 of file GeometryTGeo.cxx.
ML and OT are part of TRK as the same detector, without disks
filling the information for the VD
filling the information for the MLOT
Definition at line 65 of file GeometryTGeo.cxx.
Definition at line 582 of file GeometryTGeo.cxx.
Definition at line 577 of file GeometryTGeo.cxx.
Definition at line 587 of file GeometryTGeo.cxx.
Definition at line 572 of file GeometryTGeo.cxx.
| TGeoHMatrix & o2::trk::GeometryTGeo::createT2LMatrixMLOT | ( | int | chipID | ) |
Definition at line 1240 of file GeometryTGeo.cxx.
| void o2::trk::GeometryTGeo::defineMLOTSensors | ( | ) |
Definition at line 498 of file GeometryTGeo.cxx.
| TGeoHMatrix * o2::trk::GeometryTGeo::extractMatrixSensor | ( | int | index | ) | const |
Get the transformation matrix of the SENSOR (not necessary the same as the chip) for a given chip 'index' by quering the TGeoManager
TODO:
Definition at line 453 of file GeometryTGeo.cxx.
| int o2::trk::GeometryTGeo::extractNumberOfActivePartsVD | ( | ) | const |
Definition at line 711 of file GeometryTGeo.cxx.
module node
Definition at line 1084 of file GeometryTGeo.cxx.
| int o2::trk::GeometryTGeo::extractNumberOfChipsPerPetalVD | ( | ) | const |
Definition at line 913 of file GeometryTGeo.cxx.
| int o2::trk::GeometryTGeo::extractNumberOfDisksVD | ( | ) | const |
Definition at line 785 of file GeometryTGeo.cxx.
layer node
in case of turbo geometry, there is no half stave volume, but only stave volume
Definition at line 1026 of file GeometryTGeo.cxx.
| int o2::trk::GeometryTGeo::extractNumberOfLayersMLOT | ( | ) |
Determines the number of active parts in the Geometry.
Definition at line 607 of file GeometryTGeo.cxx.
| int o2::trk::GeometryTGeo::extractNumberOfLayersVD | ( | ) | const |
Definition at line 849 of file GeometryTGeo.cxx.
stave node
Definition at line 1058 of file GeometryTGeo.cxx.
| int o2::trk::GeometryTGeo::extractNumberOfPetalsVD | ( | ) | const |
Definition at line 654 of file GeometryTGeo.cxx.
layer node
Definition at line 997 of file GeometryTGeo.cxx.
TODO:
Definition at line 1210 of file GeometryTGeo.cxx.
Extract number following the prefix in the name string.
Definition at line 375 of file GeometryTGeo.cxx.
here get the matrices for det ID between 0 and 257 (mSize = 258 at the moment)
Implements o2::detectors::DetMatrixCache.
Definition at line 524 of file GeometryTGeo.cxx.
| void o2::trk::GeometryTGeo::fillTrackingFramesCacheMLOT | ( | ) |
Definition at line 509 of file GeometryTGeo.cxx.
Definition at line 1182 of file GeometryTGeo.cxx.
| bool o2::trk::GeometryTGeo::getChipID | ( | int | index, |
| int & | subDetID, | ||
| int & | petalcase, | ||
| int & | disk, | ||
| int & | lay, | ||
| int & | stave, | ||
| int & | halfstave, | ||
| int & | mod, | ||
| int & | chip | ||
| ) | const |
This routine computes subDetID, petal, disk, layer, stave, half stave, module, chip, given the chip index number
| int | index The chip index number, starting from 0 |
| int | subDetID The subdetector ID, 0 for VD, 1 for MLOT |
| int | petalcase The petal case number for VD, from 0 to 3 |
| int | disk The disk number for VD, from 0 to 5 |
| int | lay The layer number. Starting from 0 both for VD and MLOT |
| int | stave The stave number for MLOT. Starting from 0 |
| int | halfstave The half stave number for MLOT. Can be 0 or 1 |
| int | module The module number for MLOT, from 0 to 10 (or 20) |
| int | chip The chip number for MLOT, from 0 to 8 |
Definition at line 391 of file GeometryTGeo.cxx.
| unsigned short o2::trk::GeometryTGeo::getChipIndex | ( | int | subDetID, |
| int | petalcase, | ||
| int | disk, | ||
| int | lay, | ||
| int | stave, | ||
| int | halfstave, | ||
| int | mod, | ||
| int | chip | ||
| ) | const |
This routine computes the chip index number from the subDetID, petal, disk, layer, stave /// TODO: retrieve also from chip when chips will be available This routine computes the chip index number from the subDetID, petal, disk, layer, stave, half stave, module, chip
| int | subDetID The subdetector ID, 0 for VD, 1 for MLOT |
| int | petalcase The petal case number for VD, from 0 to 3 |
| int | disk The disk number for VD, from 0 to 5 |
| int | lay The layer number. Starting from 0 both for VD and MLOT |
| int | stave The stave number for MLOT. Starting from 0 |
| int | halfstave The half stave number for MLOT. Can be 0 or 1 |
| int | module The module number for MLOT, from 0 to 10 (or 20) |
| int | chip The chip number for MLOT, from 0 to 8 |
Definition at line 334 of file GeometryTGeo.cxx.
| unsigned short o2::trk::GeometryTGeo::getChipIndex | ( | int | subDetID, |
| int | volume, | ||
| int | lay, | ||
| int | stave, | ||
| int | halfstave, | ||
| int | mod, | ||
| int | chip | ||
| ) | const |
This routine computes the chip index number from the subDetID, volume, layer, stave, half stave, module, chip
| int | subDetID The subdetector ID, 0 for VD, 1 for MLOT |
| int | volume is needed only with the current configuration for VD where each single element is a volume. // TODO: when the geometry naming scheme will be changed, change this method |
| int | lay The layer number for the MLOT. In the current configuration for VD this is not needed. // TODO: when the geometry naming scheme will be changed, change this method |
| int | stave The stave number in each layer for MLOT. Starting from 0. |
| int | halfstave The half stave number for MLOT. Can be 0 or 1 |
| int | module The module number for MLOT, from 0 to 10 (or 20) |
| int | chip The chip number for MLOT, from 0 to 8 |
In the current configuration for VD, each volume is the sensor element = chip. // TODO: when the geometry naming scheme will be changed, change this method
Definition at line 364 of file GeometryTGeo.cxx.
|
inline |
Get the first chip index of the active petal (VD) or layer (MLOT)
Definition at line 169 of file GeometryTGeo.h.
|
inline |
Definition at line 168 of file GeometryTGeo.h.
local layer index within the sub-detector (0-based per VD/MLOT)
VD
disks
MLOT
numeration of MLOT layers starting from 0
-1 if not found
Definition at line 187 of file GeometryTGeo.cxx.
global layer index across the full TRK (VD layers 0..nVD-1, MLOT layers nVD..nTotal-1)
disks do not have a global layer index
Definition at line 207 of file GeometryTGeo.cxx.
| TString o2::trk::GeometryTGeo::getMatrixPath | ( | int | index | ) | const |
Definition at line 411 of file GeometryTGeo.cxx.
|
inline |
Definition at line 80 of file GeometryTGeo.h.
|
inline |
Definition at line 62 of file GeometryTGeo.h.
Definition at line 81 of file GeometryTGeo.h.
|
inline |
Definition at line 79 of file GeometryTGeo.h.
Definition at line 155 of file GeometryTGeo.cxx.
|
inline |
Definition at line 109 of file GeometryTGeo.h.
|
inline |
Definition at line 120 of file GeometryTGeo.h.
not found
Definition at line 144 of file GeometryTGeo.cxx.
|
inlinestatic |
Definition at line 55 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 57 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 53 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 47 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 58 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 54 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 48 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 50 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 51 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 49 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 56 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 46 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 52 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 45 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 60 of file GeometryTGeo.h.
|
inlinestatic |
Definition at line 38 of file GeometryTGeo.h.
|
inline |
Definition at line 83 of file GeometryTGeo.h.
|
inline |
Definition at line 106 of file GeometryTGeo.h.
| void o2::trk::GeometryTGeo::Print | ( | Option_t * | opt = "" | ) | const |
Definition at line 1125 of file GeometryTGeo.cxx.
| void o2::trk::GeometryTGeo::PrintChipID | ( | int | index, |
| int | subDetID, | ||
| int | petalcase, | ||
| int | disk, | ||
| int | lay, | ||
| int | stave, | ||
| int | halfstave, | ||
| int | mod, | ||
| int | chip | ||
| ) | const |
Definition at line 1110 of file GeometryTGeo.cxx.
|
inline |
Definition at line 84 of file GeometryTGeo.h.
|
staticconstexprprotected |
max number of active layers
Definition at line 200 of file GeometryTGeo.h.
|
protected |
cache for X of ML and OT
Definition at line 245 of file GeometryTGeo.h.
|
protected |
Definition at line 244 of file GeometryTGeo.h.
|
protected |
max ID of the detctor in the petal(VD) or layer(MLOT)
Definition at line 235 of file GeometryTGeo.h.
|
protected |
max ID of the detctor in the layer for the MLOT
Definition at line 237 of file GeometryTGeo.h.
|
protected |
max ID of the detctor in the layer for the VD
Definition at line 236 of file GeometryTGeo.h.
Layer to wrapper correspondence, not implemented yet.
Definition at line 239 of file GeometryTGeo.h.
|
protected |
cache for sensor ref alpha ML and OT
Definition at line 247 of file GeometryTGeo.h.
|
protected |
number of layers
Definition at line 220 of file GeometryTGeo.h.
|
protected |
number of chips per module in ML/OT
Definition at line 227 of file GeometryTGeo.h.
|
protected |
number of chips per layer MLOT
Definition at line 229 of file GeometryTGeo.h.
|
protected |
number of chips per layer VD ( = number of petals)
Definition at line 228 of file GeometryTGeo.h.
|
protected |
numbersOfChipPerPetalVD
Definition at line 231 of file GeometryTGeo.h.
|
protected |
number of Disks = 6
Definition at line 223 of file GeometryTGeo.h.
|
protected |
Number Of Half staves in each stave of the layer in ML/OT.
Definition at line 225 of file GeometryTGeo.h.
|
protected |
number of layers
Definition at line 219 of file GeometryTGeo.h.
|
protected |
number of layers
Definition at line 221 of file GeometryTGeo.h.
|
protected |
Number Of Modules per stave (half stave) in ML/OT.
Definition at line 226 of file GeometryTGeo.h.
|
protected |
number of Petals = chip in each VD layer
Definition at line 222 of file GeometryTGeo.h.
|
protected |
Number Of Staves per layer in ML/OT.
Definition at line 224 of file GeometryTGeo.h.
|
protected |
numbersOfChipPerDiskVD
Definition at line 230 of file GeometryTGeo.h.
|
protected |
Definition at line 241 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 212 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 214 of file GeometryTGeo.h.
|
protected |
is it owned by the singleton?
Definition at line 243 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 210 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 204 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 215 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 211 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 205 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 207 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 208 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 206 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 213 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 203 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 209 of file GeometryTGeo.h.
|
staticprotected |
Definition at line 202 of file GeometryTGeo.h.
|
staticprotected |
Wrapper volume name, not implemented at the moment.
Definition at line 217 of file GeometryTGeo.h.