Project
Loading...
Searching...
No Matches
o2::trk::GeometryTGeo Class Reference

#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 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 indexRetrieved) const
 
int getLayer (int index) const
 
int getStave (int index) const
 
int getHalfStave (int index) const
 
int getSubDetID (int index) const
 
int getPetalCase (int index) const
 
int getDisk (int index) const
 
int getChipIndex (int subDetID, int petalcase, int disk, int lay, int stave, int halfstave) const
 
int getChipIndex (int subDetID, int volume, int lay, int stave, int halfstave) const
 
bool getChipID (int index, int &subDetID, int &petalcase, int &disk, int &lay, int &stave, int &halfstave) const
 
int getLastChipIndex (int lay) const
 
int 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
 
DetMatrixCacheoperator= (const DetMatrixCache &geom)=delete
 
const o2::detectors::DetIDgetDetID () const
 
const chargetName () const
 
const MatrixCache< Mat3D > & getCacheT2L () const
 
const MatrixCache< Mat3D > & getCacheT2G () const
 
const MatrixCache< Mat3D > & getCacheL2G () const
 
const MatrixCache< Rot2D > & getCacheT2GRot () const
 
const Mat3DgetMatrixT2L (int sensID) const
 
const Mat3DgetMatrixT2G (int sensID) const
 
const Mat3DgetMatrixL2G (int sensID) const
 
const Rot2DgetMatrixT2GRot (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)
 

Static Public Member Functions

static GeometryTGeoInstance ()
 
static const chargetTRKVolPattern ()
 
static const chargetTRKLayerPattern ()
 
static const chargetTRKPetalPattern ()
 
static const chargetTRKPetalDiskPattern ()
 
static const chargetTRKPetalLayerPattern ()
 
static const chargetTRKStavePattern ()
 
static const chargetTRKChipPattern ()
 
static const chargetTRKSensorPattern ()
 
static const chargetTRKWrapVolPattern ()
 
static const charcomposeSymNameTRK (int d)
 
static const charcomposeSymNameLayer (int d, int layer)
 
static const charcomposeSymNameStave (int d, int layer)
 
static const charcomposeSymNameChip (int d, int lr)
 
static const charcomposeSymNameSensor (int d, int layer)
 

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< intmLastChipIndex
 max ID of the detctor in the petal(VD) or layer(MLOT)
 
std::vector< intmLastChipIndexVD
 max ID of the detctor in the layer for the VD
 
std::vector< intmLastChipIndexMLOT
 max ID of the detctor in the layer for the MLOT
 
std::vector< intmNumberOfChipsPerLayerVD
 number of chips per layer VD ( = number of petals)
 
std::vector< intmNumberOfChipsPerLayerMLOT
 number of chips per layer MLOT ( = 1 for the moment)
 
std::vector< intmNumbersOfChipPerDiskVD
 numbersOfChipPerDiskVD
 
std::vector< intmNumberOfChipsPerPetalVD
 numbersOfChipPerPetalVD
 
std::vector< intmNumberOfStaves
 Number Of Staves per layer in ML/OT.
 
std::vector< intmNumberOfHalfStaves
 Number Of Staves in each stave of the layer in ML/OT.
 
std::array< char, MAXLAYERSmLayerToWrapper
 Layer to wrapper correspondence.
 
bool mOwner = true
 

Static Protected Attributes

static constexpr int MAXLAYERS = 20
 max number of active layers
 
static std::string sVolumeName = "TRKV"
 
static std::string sLayerName = "TRKLayer"
 
static std::string sPetalName = "PETALCASE"
 
static std::string sPetalDiskName = "DISK"
 
static std::string sPetalLayerName = "LAYER"
 
static std::string sStaveName = "TRKStave"
 
static std::string sChipName = "TRKChip"
 
static std::string sSensorName = "TRKSensor"
 
static std::string sWrapperVolumeName = "TRKUWrapVol"
 Wrapper volume name.
 

Additional Inherited Members

- Public Attributes inherited from o2::detectors::DetMatrixCache
o2::detectors::DetID mDetID
 detector ID
 
int mSize = 0
 prebooked number of sensors
 
MatrixCache< Mat3DmL2G
 Local to Global matrices.
 
MatrixCache< Mat3DmT2L
 Tracking to Local matrices.
 
MatrixCache< Mat3DmT2G
 Tracking to Global matrices (general case)
 
MatrixCache< Rot2DmT2GRot
 Tracking to Global matrices in case of barrel (simple rotation)
 

Detailed Description

Definition at line 22 of file GeometryTGeo.h.

Member Typedef Documentation

◆ Mat3D

Constructor & Destructor Documentation

◆ GeometryTGeo()

o2::trk::GeometryTGeo::GeometryTGeo ( bool  build = false,
int  loadTrans = 0 
)

Definition at line 42 of file GeometryTGeo.cxx.

◆ ~GeometryTGeo()

o2::trk::GeometryTGeo::~GeometryTGeo ( )

Definition at line 35 of file GeometryTGeo.cxx.

Member Function Documentation

◆ Build()

void o2::trk::GeometryTGeo::Build ( int  loadTrans)

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

temporary, number of chips = number of staves and active parts

Definition at line 54 of file GeometryTGeo.cxx.

◆ composeSymNameChip()

const char * o2::trk::GeometryTGeo::composeSymNameChip ( int  d,
int  lr 
)
static

Definition at line 401 of file GeometryTGeo.cxx.

◆ composeSymNameLayer()

const char * o2::trk::GeometryTGeo::composeSymNameLayer ( int  d,
int  layer 
)
static

Definition at line 391 of file GeometryTGeo.cxx.

◆ composeSymNameSensor()

const char * o2::trk::GeometryTGeo::composeSymNameSensor ( int  d,
int  layer 
)
static

Definition at line 406 of file GeometryTGeo.cxx.

◆ composeSymNameStave()

const char * o2::trk::GeometryTGeo::composeSymNameStave ( int  d,
int  layer 
)
static

Definition at line 396 of file GeometryTGeo.cxx.

◆ composeSymNameTRK()

static const char * o2::trk::GeometryTGeo::composeSymNameTRK ( int  d)
inlinestatic

Definition at line 130 of file GeometryTGeo.h.

◆ extractMatrixSensor()

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

Definition at line 322 of file GeometryTGeo.cxx.

◆ extractNumberOfActivePartsVD()

int o2::trk::GeometryTGeo::extractNumberOfActivePartsVD ( ) const

Definition at line 473 of file GeometryTGeo.cxx.

◆ extractNumberOfChipsPerPetalVD()

int o2::trk::GeometryTGeo::extractNumberOfChipsPerPetalVD ( ) const

Definition at line 589 of file GeometryTGeo.cxx.

◆ extractNumberOfDisksVD()

int o2::trk::GeometryTGeo::extractNumberOfDisksVD ( ) const

Definition at line 502 of file GeometryTGeo.cxx.

◆ extractNumberOfHalfStavesMLOT()

int o2::trk::GeometryTGeo::extractNumberOfHalfStavesMLOT ( int  lay) const

layer node

Definition at line 647 of file GeometryTGeo.cxx.

◆ extractNumberOfLayersMLOT()

int o2::trk::GeometryTGeo::extractNumberOfLayersMLOT ( )

Determines the number of active parts in the Geometry.

Definition at line 426 of file GeometryTGeo.cxx.

◆ extractNumberOfLayersVD()

int o2::trk::GeometryTGeo::extractNumberOfLayersVD ( ) const

Definition at line 560 of file GeometryTGeo.cxx.

◆ extractNumberOfPetalsVD()

int o2::trk::GeometryTGeo::extractNumberOfPetalsVD ( ) const

Definition at line 531 of file GeometryTGeo.cxx.

◆ extractNumberOfStavesMLOT()

int o2::trk::GeometryTGeo::extractNumberOfStavesMLOT ( int  lay) const

layer node

Definition at line 618 of file GeometryTGeo.cxx.

◆ extractVolumeCopy()

int o2::trk::GeometryTGeo::extractVolumeCopy ( const char name,
const char prefix 
) const

Extract number following the prefix in the name string.

Definition at line 375 of file GeometryTGeo.cxx.

◆ fillMatrixCache()

void o2::trk::GeometryTGeo::fillMatrixCache ( int  mask)
virtual

here get the matrices for det ID between 0 and 257 (mSize = 258 at the moment)

Implements o2::detectors::DetMatrixCache.

Definition at line 367 of file GeometryTGeo.cxx.

◆ getChipID()

bool o2::trk::GeometryTGeo::getChipID ( int  index,
int subDetID,
int petalcase,
int disk,
int lay,
int stave,
int halfstave 
) const

This routine computes subDetID, petal, disk, layer, stave given the chip index number /// TODO: copute also from chip when chips will be available

Parameters
intindex The chip index number, starting from 0
intsubDetID The subdetector ID, 0 for VD, 1 for MLOT
intpetalcase The petal case number for VD, from 0 to 3
intdisk The disk number for VD, from 0 to 5
intlay The layer number. Starting from 0 both for VD and MLOT
intstave The stave number for MLOT. Starting from 0
inthalfstave The half stave number for MLOT. Can be 0 or 1

Definition at line 250 of file GeometryTGeo.cxx.

◆ getChipIndex() [1/2]

int o2::trk::GeometryTGeo::getChipIndex ( int  subDetID,
int  petalcase,
int  disk,
int  lay,
int  stave,
int  halfstave 
) 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

Parameters
intsubDetID The subdetector ID, 0 for VD, 1 for MLOT
intpetalcase The petal case number for VD, from 0 to 3
intdisk The disk number for VD, from 0 to 5
intlay The layer number. Starting from 0 both for VD and MLOT
intstave The stave number for MLOT. Starting from 0
inthalfstave The half stave number for MLOT. Can be 0 or 1

Definition at line 215 of file GeometryTGeo.cxx.

◆ getChipIndex() [2/2]

int o2::trk::GeometryTGeo::getChipIndex ( int  subDetID,
int  volume,
int  lay,
int  stave,
int  halfstave 
) const

This routine computes the chip index number from the subDetID, volume, layer, stave /// TODO: retrieve also from chip when chips will be available

Parameters
intsubDetID The subdetector ID, 0 for VD, 1 for MLOT
intvolume 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
intlay 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
intstave The stave number in each layer for MLOT. Starting from 0.
inthalfstave The half stave number for MLOT. Can be 0 or 1

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 234 of file GeometryTGeo.cxx.

◆ getDisk()

int o2::trk::GeometryTGeo::getDisk ( int  index) const

VD

layers

not found or ML/OT

Definition at line 199 of file GeometryTGeo.cxx.

◆ getFirstChipIndex()

int o2::trk::GeometryTGeo::getFirstChipIndex ( int  lay,
int  petalcase,
int  subDetID 
) const
inline

Get the first chip index of the active petal (VD) or layer (MLOT)

Definition at line 113 of file GeometryTGeo.h.

◆ getHalfStave()

int o2::trk::GeometryTGeo::getHalfStave ( int  index) const

VD

MLOT

0 = half stave left, 1 = half stave right, as geometry is filled /// TODO: generalize once chips will be in place. Can it be working also with chips?

not found

Definition at line 181 of file GeometryTGeo.cxx.

◆ getLastChipIndex()

int o2::trk::GeometryTGeo::getLastChipIndex ( int  lay) const
inline

Definition at line 112 of file GeometryTGeo.h.

◆ getLayer()

int o2::trk::GeometryTGeo::getLayer ( int  index) const

VD

disks

MLOT

numeration of MLOT layesrs starting from 0

-1 if not found

Definition at line 144 of file GeometryTGeo.cxx.

◆ getMatrixPath()

TString o2::trk::GeometryTGeo::getMatrixPath ( int  index) const

dummy path, to be replaced

Definition at line 263 of file GeometryTGeo.cxx.

◆ getNumberOfActivePartsVD()

int o2::trk::GeometryTGeo::getNumberOfActivePartsVD ( ) const
inline

Definition at line 69 of file GeometryTGeo.h.

◆ getNumberOfChips()

int o2::trk::GeometryTGeo::getNumberOfChips ( ) const
inline

Definition at line 53 of file GeometryTGeo.h.

◆ getNumberOfHalfStaves()

int o2::trk::GeometryTGeo::getNumberOfHalfStaves ( int  lay) const
inline

Definition at line 70 of file GeometryTGeo.h.

◆ getNumberOfLayersMLOT()

int o2::trk::GeometryTGeo::getNumberOfLayersMLOT ( ) const
inline

Definition at line 68 of file GeometryTGeo.h.

◆ getPetalCase()

int o2::trk::GeometryTGeo::getPetalCase ( int  index) const

Definition at line 126 of file GeometryTGeo.cxx.

◆ getStave()

int o2::trk::GeometryTGeo::getStave ( int  index) const

VD

MLOT

not found

Definition at line 164 of file GeometryTGeo.cxx.

◆ getSubDetID()

int o2::trk::GeometryTGeo::getSubDetID ( int  index) const

not found

Definition at line 115 of file GeometryTGeo.cxx.

◆ getTRKChipPattern()

static const char * o2::trk::GeometryTGeo::getTRKChipPattern ( )
inlinestatic

Definition at line 49 of file GeometryTGeo.h.

◆ getTRKLayerPattern()

static const char * o2::trk::GeometryTGeo::getTRKLayerPattern ( )
inlinestatic

Definition at line 44 of file GeometryTGeo.h.

◆ getTRKPetalDiskPattern()

static const char * o2::trk::GeometryTGeo::getTRKPetalDiskPattern ( )
inlinestatic

Definition at line 46 of file GeometryTGeo.h.

◆ getTRKPetalLayerPattern()

static const char * o2::trk::GeometryTGeo::getTRKPetalLayerPattern ( )
inlinestatic

Definition at line 47 of file GeometryTGeo.h.

◆ getTRKPetalPattern()

static const char * o2::trk::GeometryTGeo::getTRKPetalPattern ( )
inlinestatic

Definition at line 45 of file GeometryTGeo.h.

◆ getTRKSensorPattern()

static const char * o2::trk::GeometryTGeo::getTRKSensorPattern ( )
inlinestatic

Definition at line 50 of file GeometryTGeo.h.

◆ getTRKStavePattern()

static const char * o2::trk::GeometryTGeo::getTRKStavePattern ( )
inlinestatic

Definition at line 48 of file GeometryTGeo.h.

◆ getTRKVolPattern()

static const char * o2::trk::GeometryTGeo::getTRKVolPattern ( )
inlinestatic

Definition at line 43 of file GeometryTGeo.h.

◆ getTRKWrapVolPattern()

static const char * o2::trk::GeometryTGeo::getTRKWrapVolPattern ( )
inlinestatic

Definition at line 51 of file GeometryTGeo.h.

◆ Instance()

static GeometryTGeo * o2::trk::GeometryTGeo::Instance ( )
inlinestatic

Definition at line 36 of file GeometryTGeo.h.

◆ isOwner()

bool o2::trk::GeometryTGeo::isOwner ( ) const
inline

Definition at line 72 of file GeometryTGeo.h.

◆ Print()

void o2::trk::GeometryTGeo::Print ( Option_t *  opt = "") const

Definition at line 689 of file GeometryTGeo.cxx.

◆ PrintChipID()

void o2::trk::GeometryTGeo::PrintChipID ( int  index,
int  subDetID,
int  petalcase,
int  disk,
int  lay,
int  stave,
int  halfstave,
int  indexRetrieved 
) const

Definition at line 675 of file GeometryTGeo.cxx.

◆ setOwner()

void o2::trk::GeometryTGeo::setOwner ( bool  v)
inline

Definition at line 73 of file GeometryTGeo.h.

Member Data Documentation

◆ MAXLAYERS

constexpr int o2::trk::GeometryTGeo::MAXLAYERS = 20
staticconstexprprotected

max number of active layers

Definition at line 140 of file GeometryTGeo.h.

◆ mLastChipIndex

std::vector<int> o2::trk::GeometryTGeo::mLastChipIndex
protected

max ID of the detctor in the petal(VD) or layer(MLOT)

Definition at line 157 of file GeometryTGeo.h.

◆ mLastChipIndexMLOT

std::vector<int> o2::trk::GeometryTGeo::mLastChipIndexMLOT
protected

max ID of the detctor in the layer for the MLOT

Definition at line 159 of file GeometryTGeo.h.

◆ mLastChipIndexVD

std::vector<int> o2::trk::GeometryTGeo::mLastChipIndexVD
protected

max ID of the detctor in the layer for the VD

Definition at line 158 of file GeometryTGeo.h.

◆ mLayerToWrapper

std::array<char, MAXLAYERS> o2::trk::GeometryTGeo::mLayerToWrapper
protected

Layer to wrapper correspondence.

Definition at line 166 of file GeometryTGeo.h.

◆ mNumberOfActivePartsVD

Int_t o2::trk::GeometryTGeo::mNumberOfActivePartsVD
protected

number of layers

Definition at line 153 of file GeometryTGeo.h.

◆ mNumberOfChipsPerLayerMLOT

std::vector<int> o2::trk::GeometryTGeo::mNumberOfChipsPerLayerMLOT
protected

number of chips per layer MLOT ( = 1 for the moment)

Definition at line 161 of file GeometryTGeo.h.

◆ mNumberOfChipsPerLayerVD

std::vector<int> o2::trk::GeometryTGeo::mNumberOfChipsPerLayerVD
protected

number of chips per layer VD ( = number of petals)

Definition at line 160 of file GeometryTGeo.h.

◆ mNumberOfChipsPerPetalVD

std::vector<int> o2::trk::GeometryTGeo::mNumberOfChipsPerPetalVD
protected

numbersOfChipPerPetalVD

Definition at line 163 of file GeometryTGeo.h.

◆ mNumberOfDisksVD

Int_t o2::trk::GeometryTGeo::mNumberOfDisksVD
protected

number of Disks = 6

Definition at line 156 of file GeometryTGeo.h.

◆ mNumberOfHalfStaves

std::vector<int> o2::trk::GeometryTGeo::mNumberOfHalfStaves
protected

Number Of Staves in each stave of the layer in ML/OT.

Definition at line 165 of file GeometryTGeo.h.

◆ mNumberOfLayersMLOT

Int_t o2::trk::GeometryTGeo::mNumberOfLayersMLOT
protected

number of layers

Definition at line 152 of file GeometryTGeo.h.

◆ mNumberOfLayersVD

Int_t o2::trk::GeometryTGeo::mNumberOfLayersVD
protected

number of layers

Definition at line 154 of file GeometryTGeo.h.

◆ mNumberOfPetalsVD

Int_t o2::trk::GeometryTGeo::mNumberOfPetalsVD
protected

number of Petals = chip in each VD layer

Definition at line 155 of file GeometryTGeo.h.

◆ mNumberOfStaves

std::vector<int> o2::trk::GeometryTGeo::mNumberOfStaves
protected

Number Of Staves per layer in ML/OT.

Definition at line 164 of file GeometryTGeo.h.

◆ mNumbersOfChipPerDiskVD

std::vector<int> o2::trk::GeometryTGeo::mNumbersOfChipPerDiskVD
protected

numbersOfChipPerDiskVD

Definition at line 162 of file GeometryTGeo.h.

◆ mOwner

bool o2::trk::GeometryTGeo::mOwner = true
protected

Definition at line 168 of file GeometryTGeo.h.

◆ sChipName

std::string o2::trk::GeometryTGeo::sChipName = "TRKChip"
staticprotected

Definition at line 148 of file GeometryTGeo.h.

◆ sLayerName

std::string o2::trk::GeometryTGeo::sLayerName = "TRKLayer"
staticprotected

Definition at line 143 of file GeometryTGeo.h.

◆ sPetalDiskName

std::string o2::trk::GeometryTGeo::sPetalDiskName = "DISK"
staticprotected

Definition at line 145 of file GeometryTGeo.h.

◆ sPetalLayerName

std::string o2::trk::GeometryTGeo::sPetalLayerName = "LAYER"
staticprotected

Definition at line 146 of file GeometryTGeo.h.

◆ sPetalName

std::string o2::trk::GeometryTGeo::sPetalName = "PETALCASE"
staticprotected

Definition at line 144 of file GeometryTGeo.h.

◆ sSensorName

std::string o2::trk::GeometryTGeo::sSensorName = "TRKSensor"
staticprotected

Definition at line 149 of file GeometryTGeo.h.

◆ sStaveName

std::string o2::trk::GeometryTGeo::sStaveName = "TRKStave"
staticprotected

Definition at line 147 of file GeometryTGeo.h.

◆ sVolumeName

std::string o2::trk::GeometryTGeo::sVolumeName = "TRKV"
staticprotected

Definition at line 142 of file GeometryTGeo.h.

◆ sWrapperVolumeName

std::string o2::trk::GeometryTGeo::sWrapperVolumeName = "TRKUWrapVol"
staticprotected

Wrapper volume name.

Wrapper volume name, not implemented at the moment.

Definition at line 150 of file GeometryTGeo.h.


The documentation for this class was generated from the following files: