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

#include <GeometryTGeo.h>

Inherits o2::itsmft::GeometryTGeo.

Public Types

typedef o2::math_utils::Transform3D Mat3D
 
- 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_t build=kFALSE, Int_t loadTrans=0)
 
 ~GeometryTGeo () override
 Default destructor, don't use.
 
 GeometryTGeo (const GeometryTGeo &src)=delete
 
GeometryTGeooperator= (const GeometryTGeo &geom)=delete
 
void destroy ()
 
void fillMatrixCache (Int_t mask) override
 
void updateL2GMatrixCache (std::vector< int > chipIDs={})
 
void Build (int loadTrans=0) override
 Exract MFT parameters from TGeo.
 
Int_t getSensorIndex (Int_t half, Int_t disk, Int_t ladder, Int_t sensor) const
 
Int_t getLayer (Int_t index) const
 get layer index (0:9) from the chip index
 
Bool_t getSensorID (Int_t index, Int_t &half, Int_t &disk, Int_t &ladder, Int_t &sensor) const
 
Int_t getNumberOfSensorsPerLadder (Int_t half, Int_t disk, Int_t ladder) const
 
Int_t getNumberOfLaddersPerDisk (Int_t half, Int_t disk, Int_t sensors) const
 Returns the number of ladders in each disk of each half.
 
Int_t getNumberOfDisksPerHalf (Int_t half) const
 Returns the number of disks in each half.
 
Int_t getNumberOfHalfs ()
 Returns the number of halfs MFT.
 
Int_t getMinSensorsPerLadder ()
 Returns the min number of sensors per ladder.
 
Int_t getMaxSensorsPerLadder ()
 Returns the max number of sensors per ladder.
 
Int_t getLadderID (Int_t disk, Int_t ladder) const
 Returns the ladder geometry ID from the matrix ID.
 
- Public Member Functions inherited from o2::itsmft::GeometryTGeo
 GeometryTGeo ()=default
 
 GeometryTGeo (const GeometryTGeo &src)=delete
 
GeometryTGeooperator= (const GeometryTGeo &geom)=delete
 
 GeometryTGeo (const o2::detectors::DetID &detid)
 
 ~GeometryTGeo () override=default
 
Int_t getNumberOfChips () const
 
bool isOwner () const
 
void setOwner (bool v)
 
- 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
 
virtual void fillMatrixCache (int mask)=0
 
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 bool instanceExist ()
 
static void adopt (GeometryTGeo *raw, bool canDelete=false)
 
static const Char_t * getMFTVolPattern ()
 
static const Char_t * getMFTHalfPattern ()
 
static const Char_t * getMFTDiskPattern ()
 
static const Char_t * getMFTLadderPattern ()
 
static const Char_t * getMFTChipPattern ()
 
static const Char_t * getMFTSensorPattern ()
 
static const charcomposeSymNameMFT ()
 sym name of the MFT
 
static const charcomposeSymNameHalf (int hf)
 sym name of the half
 
static const charcomposeSymNameDisk (int hf, int dk)
 Sym name of the disk at given half.
 
static const charcomposeSymNameLadder (int hf, int dk, int lr)
 Sym name of the ladder at given half/disk.
 
static const charcomposeSymNameChip (int hf, int dk, int lr, int chip)
 Sym name of the chip in the given half/disk/ladder.
 

Protected Member Functions

Int_t extractNumberOfHalves ()
 Determines the number of detector halves in the Geometry.
 
Int_t extractNumberOfDisks (Int_t half) const
 Determines the number of disks in each detector half.
 
Int_t extractNumberOfLadders (Int_t half, Int_t disk, Int_t nsensors) const
 Determines the number of ladders in each disk of each half.
 
Int_t extractNumberOfLadders (Int_t half, Int_t disk, Int_t nsensors, Int_t &nL)
 Maps the internal matrix index to the geometry index from the XML file.
 
Int_t extractNumberOfSensorsPerLadder (Int_t half, Int_t disk, Int_t ladder) const
 Determines the number of sensors in each ladder of each disk of each half.
 
Int_t extractVolumeCopy (const Char_t *name, const Char_t *prefix) const
 Extract number following the prefix in the name string.
 
TGeoHMatrix * extractMatrixSensor (Int_t index) const
 
TGeoHMatrix & createT2LMatrix (Int_t isn)
 
void extractSensorXAlpha (int index, float &x, float &alp)
 
Int_t getHalf (Int_t index) const
 From matrix index to half ID.
 
Int_t getDisk (Int_t index) const
 From matrix index to disk ID.
 
Int_t getLadder (Int_t index) const
 From matrix index to ladder ID (matrix)
 
Int_t getFirstSensorIndex (Int_t disk) const
 In a disk start numbering the sensors from zero.
 
- Protected Member Functions inherited from o2::itsmft::GeometryTGeo
 ClassDefOverride (GeometryTGeo, 1)
 is it owned by the singleton?
 

Protected Attributes

Int_t mTotalNumberOfSensors
 total number of sensors in the detector
 
Int_t mNumberOfHalves
 number of detector halves
 
std::vector< Int_t > mNumberOfDisks
 disks/half
 
std::vector< std::vector< Int_t > > mNumberOfLadders
 ladders[nsensor]/halfdisk
 
std::vector< Int_t > mNumberOfLaddersPerDisk
 ladders/halfdisk
 
std::vector< std::vector< Int_t > > mLadderIndex2Id
 from matrix index to geometry index
 
std::vector< std::vector< Int_t > > mLadderId2Index
 from to geometry index to matrix index
 
std::vector< Int_t > mLastSensorIndex
 last sensor index in a layer
 
std::vector< Int_t > mSensorIndexToLayer
 get from sensor index the layer
 
std::vector< Int_t > mNumberOfSensorsPerDisk
 get from sensor index the lay er
 
std::vector< Float_tmLayerMedianZ
 z median value between the two planes of a disk
 
- Protected Attributes inherited from o2::itsmft::GeometryTGeo
bool mOwner = true
 

Static Protected Attributes

static constexpr Int_t MinSensorsPerLadder = 2
 
static constexpr Int_t MaxSensorsPerLadder = 5
 
static std::string sVolumeName = "MFT"
 
static std::string sHalfName = "MFT_H"
 
static std::string sDiskName = "MFT_D"
 
static std::string sLadderName = "MFT_L"
 
static std::string sChipName = "MFT_C"
 
static std::string sSensorName = "MFTSensor"
 

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 36 of file GeometryTGeo.h.

Member Typedef Documentation

◆ Mat3D

Constructor & Destructor Documentation

◆ GeometryTGeo() [1/2]

GeometryTGeo::GeometryTGeo ( Bool_t  build = kFALSE,
Int_t  loadTrans = 0 
)

Definition at line 71 of file GeometryTGeo.cxx.

◆ ~GeometryTGeo()

GeometryTGeo::~GeometryTGeo ( )
override

Default destructor, don't use.

Definition at line 61 of file GeometryTGeo.cxx.

◆ GeometryTGeo() [2/2]

o2::mft::GeometryTGeo::GeometryTGeo ( const GeometryTGeo src)
delete

Member Function Documentation

◆ adopt()

void GeometryTGeo::adopt ( GeometryTGeo raw,
bool  canDelete = false 
)
static

Definition at line 87 of file GeometryTGeo.cxx.

◆ Build()

void o2::mft::GeometryTGeo::Build ( int  loadTrans = 0)
overridevirtual

Exract MFT parameters from TGeo.

Implements o2::itsmft::GeometryTGeo.

◆ composeSymNameChip()

const char * GeometryTGeo::composeSymNameChip ( int  hf,
int  dk,
int  lr,
int  chip 
)
static

Sym name of the chip in the given half/disk/ladder.

Definition at line 639 of file GeometryTGeo.cxx.

◆ composeSymNameDisk()

const char * GeometryTGeo::composeSymNameDisk ( int  hf,
int  dk 
)
static

Sym name of the disk at given half.

Definition at line 627 of file GeometryTGeo.cxx.

◆ composeSymNameHalf()

const char * GeometryTGeo::composeSymNameHalf ( int  hf)
static

sym name of the half

Definition at line 621 of file GeometryTGeo.cxx.

◆ composeSymNameLadder()

const char * GeometryTGeo::composeSymNameLadder ( int  hf,
int  dk,
int  lr 
)
static

Sym name of the ladder at given half/disk.

Definition at line 633 of file GeometryTGeo.cxx.

◆ composeSymNameMFT()

static const char * o2::mft::GeometryTGeo::composeSymNameMFT ( )
inlinestatic

sym name of the MFT

Definition at line 150 of file GeometryTGeo.h.

◆ createT2LMatrix()

TGeoHMatrix & GeometryTGeo::createT2LMatrix ( Int_t  isn)
protected

Definition at line 502 of file GeometryTGeo.cxx.

◆ destroy()

void o2::mft::GeometryTGeo::destroy ( )
inline

Definition at line 76 of file GeometryTGeo.h.

◆ extractMatrixSensor()

TGeoHMatrix * GeometryTGeo::extractMatrixSensor ( Int_t  index) const
protected

Get the transformation matrix of the sensor [...] for a given sensor 'index' by quering the TGeoManager

Definition at line 390 of file GeometryTGeo.cxx.

◆ extractNumberOfDisks()

Int_t GeometryTGeo::extractNumberOfDisks ( Int_t  half) const
protected

Determines the number of disks in each detector half.

Definition at line 321 of file GeometryTGeo.cxx.

◆ extractNumberOfHalves()

Int_t GeometryTGeo::extractNumberOfHalves ( )
protected

Determines the number of detector halves in the Geometry.

Definition at line 344 of file GeometryTGeo.cxx.

◆ extractNumberOfLadders() [1/2]

Int_t GeometryTGeo::extractNumberOfLadders ( Int_t  half,
Int_t  disk,
Int_t  nsensors 
) const
protected

Determines the number of ladders in each disk of each half.

Definition at line 258 of file GeometryTGeo.cxx.

◆ extractNumberOfLadders() [2/2]

Int_t GeometryTGeo::extractNumberOfLadders ( Int_t  half,
Int_t  disk,
Int_t  nsensors,
Int_t &  nL 
)
protected

Maps the internal matrix index to the geometry index from the XML file.

Definition at line 286 of file GeometryTGeo.cxx.

◆ extractNumberOfSensorsPerLadder()

Int_t GeometryTGeo::extractNumberOfSensorsPerLadder ( Int_t  half,
Int_t  disk,
Int_t  ladder 
) const
protected

Determines the number of sensors in each ladder of each disk of each half.

Definition at line 235 of file GeometryTGeo.cxx.

◆ extractSensorXAlpha()

void GeometryTGeo::extractSensorXAlpha ( int  index,
float &  x,
float &  alp 
)
protected

Get sensor tracking frame alpha and x (ITS), where the normal to the sensor intersects the sensor surface

Definition at line 520 of file GeometryTGeo.cxx.

◆ extractVolumeCopy()

Int_t o2::mft::GeometryTGeo::extractVolumeCopy ( const Char_t *  name,
const Char_t *  prefix 
) const
protected

Extract number following the prefix in the name string.

◆ fillMatrixCache()

void GeometryTGeo::fillMatrixCache ( Int_t  mask)
override

Definition at line 427 of file GeometryTGeo.cxx.

◆ getDisk()

Int_t GeometryTGeo::getDisk ( Int_t  index) const
protected

From matrix index to disk ID.

Definition at line 560 of file GeometryTGeo.cxx.

◆ getFirstSensorIndex()

Int_t o2::mft::GeometryTGeo::getFirstSensorIndex ( Int_t  disk) const
inlineprotected

In a disk start numbering the sensors from zero.

Definition at line 204 of file GeometryTGeo.h.

◆ getHalf()

Int_t GeometryTGeo::getHalf ( Int_t  index) const
protected

From matrix index to half ID.

Definition at line 552 of file GeometryTGeo.cxx.

◆ getLadder()

Int_t GeometryTGeo::getLadder ( Int_t  index) const
protected

From matrix index to ladder ID (matrix)

Definition at line 572 of file GeometryTGeo.cxx.

◆ getLadderID()

Int_t o2::mft::GeometryTGeo::getLadderID ( Int_t  disk,
Int_t  ladder 
) const
inline

Returns the ladder geometry ID from the matrix ID.

Definition at line 144 of file GeometryTGeo.h.

◆ getLayer()

Int_t GeometryTGeo::getLayer ( Int_t  index) const

get layer index (0:9) from the chip index

Definition at line 618 of file GeometryTGeo.cxx.

◆ getMaxSensorsPerLadder()

Int_t o2::mft::GeometryTGeo::getMaxSensorsPerLadder ( )
inline

Returns the max number of sensors per ladder.

Definition at line 138 of file GeometryTGeo.h.

◆ getMFTChipPattern()

static const Char_t * o2::mft::GeometryTGeo::getMFTChipPattern ( )
inlinestatic

Definition at line 90 of file GeometryTGeo.h.

◆ getMFTDiskPattern()

static const Char_t * o2::mft::GeometryTGeo::getMFTDiskPattern ( )
inlinestatic

Definition at line 88 of file GeometryTGeo.h.

◆ getMFTHalfPattern()

static const Char_t * o2::mft::GeometryTGeo::getMFTHalfPattern ( )
inlinestatic

Definition at line 87 of file GeometryTGeo.h.

◆ getMFTLadderPattern()

static const Char_t * o2::mft::GeometryTGeo::getMFTLadderPattern ( )
inlinestatic

Definition at line 89 of file GeometryTGeo.h.

◆ getMFTSensorPattern()

static const Char_t * o2::mft::GeometryTGeo::getMFTSensorPattern ( )
inlinestatic

Definition at line 91 of file GeometryTGeo.h.

◆ getMFTVolPattern()

static const Char_t * o2::mft::GeometryTGeo::getMFTVolPattern ( )
inlinestatic

Definition at line 86 of file GeometryTGeo.h.

◆ getMinSensorsPerLadder()

Int_t o2::mft::GeometryTGeo::getMinSensorsPerLadder ( )
inline

Returns the min number of sensors per ladder.

Definition at line 132 of file GeometryTGeo.h.

◆ getNumberOfDisksPerHalf()

Int_t o2::mft::GeometryTGeo::getNumberOfDisksPerHalf ( Int_t  half) const
inline

Returns the number of disks in each half.

Definition at line 121 of file GeometryTGeo.h.

◆ getNumberOfHalfs()

Int_t o2::mft::GeometryTGeo::getNumberOfHalfs ( )
inline

Returns the number of halfs MFT.

Definition at line 126 of file GeometryTGeo.h.

◆ getNumberOfLaddersPerDisk()

Int_t o2::mft::GeometryTGeo::getNumberOfLaddersPerDisk ( Int_t  half,
Int_t  disk,
Int_t  sensors 
) const
inline

Returns the number of ladders in each disk of each half.

Definition at line 116 of file GeometryTGeo.h.

◆ getNumberOfSensorsPerLadder()

Int_t o2::mft::GeometryTGeo::getNumberOfSensorsPerLadder ( Int_t  half,
Int_t  disk,
Int_t  ladder 
) const
inline

Returns the number of sensors in each ladder of each disk of each half ladder is the matrix ID and is converted to geometry ID

Definition at line 111 of file GeometryTGeo.h.

◆ getSensorID()

Bool_t GeometryTGeo::getSensorID ( Int_t  index,
Int_t &  half,
Int_t &  disk,
Int_t &  ladder,
Int_t &  sensor 
) const

This routine computes the half, disk, ladder and sensor number given the sensor index number

Parameters
intindex The sensor index number, starting from zero.
inthalf The half number. Starting from 0
intdisk The disk number in a half. Starting from 0
intladder The ladder number in a disk. Starting from 0
intsensor The sensor number in a ladder. Starting from 0

Definition at line 523 of file GeometryTGeo.cxx.

◆ getSensorIndex()

Int_t GeometryTGeo::getSensorIndex ( Int_t  half,
Int_t  disk,
Int_t  ladder,
Int_t  sensor 
) const

This routine computes the sensor index (as it is used in the list of transformations) from the detector half, disk, ladder and position of the sensor in the ladder

Definition at line 596 of file GeometryTGeo.cxx.

◆ Instance()

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

Definition at line 44 of file GeometryTGeo.h.

◆ instanceExist()

static bool o2::mft::GeometryTGeo::instanceExist ( )
inlinestatic

Definition at line 53 of file GeometryTGeo.h.

◆ operator=()

GeometryTGeo & o2::mft::GeometryTGeo::operator= ( const GeometryTGeo geom)
delete

◆ updateL2GMatrixCache()

void GeometryTGeo::updateL2GMatrixCache ( std::vector< int chipIDs = {})

Definition at line 474 of file GeometryTGeo.cxx.

Member Data Documentation

◆ MaxSensorsPerLadder

constexpr Int_t o2::mft::GeometryTGeo::MaxSensorsPerLadder = 5
staticconstexprprotected

Definition at line 208 of file GeometryTGeo.h.

◆ MinSensorsPerLadder

constexpr Int_t o2::mft::GeometryTGeo::MinSensorsPerLadder = 2
staticconstexprprotected

Definition at line 207 of file GeometryTGeo.h.

◆ mLadderId2Index

std::vector<std::vector<Int_t> > o2::mft::GeometryTGeo::mLadderId2Index
protected

from to geometry index to matrix index

Definition at line 217 of file GeometryTGeo.h.

◆ mLadderIndex2Id

std::vector<std::vector<Int_t> > o2::mft::GeometryTGeo::mLadderIndex2Id
protected

from matrix index to geometry index

Definition at line 216 of file GeometryTGeo.h.

◆ mLastSensorIndex

std::vector<Int_t> o2::mft::GeometryTGeo::mLastSensorIndex
protected

last sensor index in a layer

Definition at line 219 of file GeometryTGeo.h.

◆ mLayerMedianZ

std::vector<Float_t> o2::mft::GeometryTGeo::mLayerMedianZ
protected

z median value between the two planes of a disk

Definition at line 222 of file GeometryTGeo.h.

◆ mNumberOfDisks

std::vector<Int_t> o2::mft::GeometryTGeo::mNumberOfDisks
protected

disks/half

Definition at line 212 of file GeometryTGeo.h.

◆ mNumberOfHalves

Int_t o2::mft::GeometryTGeo::mNumberOfHalves
protected

number of detector halves

Definition at line 211 of file GeometryTGeo.h.

◆ mNumberOfLadders

std::vector<std::vector<Int_t> > o2::mft::GeometryTGeo::mNumberOfLadders
protected

ladders[nsensor]/halfdisk

Definition at line 213 of file GeometryTGeo.h.

◆ mNumberOfLaddersPerDisk

std::vector<Int_t> o2::mft::GeometryTGeo::mNumberOfLaddersPerDisk
protected

ladders/halfdisk

Definition at line 214 of file GeometryTGeo.h.

◆ mNumberOfSensorsPerDisk

std::vector<Int_t> o2::mft::GeometryTGeo::mNumberOfSensorsPerDisk
protected

get from sensor index the lay er

Definition at line 221 of file GeometryTGeo.h.

◆ mSensorIndexToLayer

std::vector<Int_t> o2::mft::GeometryTGeo::mSensorIndexToLayer
protected

get from sensor index the layer

Definition at line 220 of file GeometryTGeo.h.

◆ mTotalNumberOfSensors

Int_t o2::mft::GeometryTGeo::mTotalNumberOfSensors
protected

total number of sensors in the detector

Definition at line 210 of file GeometryTGeo.h.

◆ sChipName

std::string GeometryTGeo::sChipName = "MFT_C"
staticprotected

Definition at line 228 of file GeometryTGeo.h.

◆ sDiskName

std::string GeometryTGeo::sDiskName = "MFT_D"
staticprotected

Definition at line 226 of file GeometryTGeo.h.

◆ sHalfName

std::string GeometryTGeo::sHalfName = "MFT_H"
staticprotected

Definition at line 225 of file GeometryTGeo.h.

◆ sLadderName

std::string GeometryTGeo::sLadderName = "MFT_L"
staticprotected

Definition at line 227 of file GeometryTGeo.h.

◆ sSensorName

std::string GeometryTGeo::sSensorName = "MFTSensor"
staticprotected

Definition at line 229 of file GeometryTGeo.h.

◆ sVolumeName

std::string GeometryTGeo::sVolumeName = "MFT"
staticprotected

Definition at line 224 of file GeometryTGeo.h.


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