18#include <fairlogger/Logger.h>
46 sKaptonThickness + 2 * sAluThickness + 2 * sVarnishThickness;
85 Double_t rot[9] = {0., 1., 0., 0., 0., -1., -1., 0., 0.};
93Geometry* Geometry::sInstance =
nullptr;
111 : TNamed(
"MFT",
"Muon Forward Tracker"), mBuilder(nullptr), mSegmentation(nullptr), mSensorVolumeID(0)
122 delete mSegmentation;
130 if (!mSegmentation) {
131 mSegmentation =
new Segmentation(gSystem->ExpandPathName(
"$(VMCWORKDIR)/Detectors/Geometry/MFT/data/Geometry.xml"));
153 UInt_t uniqueID = ((
type + 1) << 16) + ((half + 1) << 14) + ((disk + 1) << 11) + ((plane + 1) << 9) +
154 ((ladder + 1) << 3) + (chip + 1);
167 for (
int iHalf = 0; iHalf < 2; iHalf++) {
Chip (sensor) segmentation description.
Class describing MFT Geometry Builder.
Class for the description of the structure of a half-disk.
Segmentation class for each half of the ALICE Muon Forward Tracker.
Class handling both virtual segmentation and real volumes.
Class for the virtual segmentation of the ALICE Muon Forward Tracker.
ClassImp(o2::mft::Geometry)
Description of the virtual segmentation of a ladder.
void buildGeometry()
Build the MFT Geometry.
static const Double_t sChipThickness
CMOS chip thickness.
static const Double_t sCapacitorDy
static const Double_t sHoleShift1
UInt_t getObjectID(ObjectTypes type, Int_t half=-1, Int_t disk=-1, Int_t plane=-1, Int_t ladder=-1, Int_t chip=-1) const
Returns the object Unique ID.
static const Double_t sEpsilon
static const Double_t sVarnishThickness
static const Double_t sShiftDDGNDline
static const Double_t sSensorTopOffset
Offset of sensor compare to ladder top edge.
Int_t getDiskNSensors(Int_t diskId) const
Returns the number of sensors on the entire disk (top+bottom)
static const Double_t sSensorSideOffset
Offset of sensor compare to ladder edge (close to the beam pipe)
static const Double_t sGlueRohacellCarbonThickness
Int_t getSensorID(UInt_t uniqueID) const
Returns Sensor ID based on Unique ID provided.
Int_t getDetElemLocalID(Int_t detElem) const
Returns the local ID of the sensor on the disk.
Int_t getDiskID(UInt_t uniqueID) const
Returns Half-Disk ID based on Unique ID provided.
static const Double_t sFlexThickness
Flex Thickness.
static const Double_t sLineWidth
static const Double_t sConnectorLength
static const Double_t sKaptonGlueThickness
Int_t getLadderID(UInt_t uniqueID) const
Returns Ladder ID based on Unique ID provided.
static const Double_t sConnectorOffset
Int_t getHalfID(UInt_t uniqueID) const
Returns Half-MFT ID based on Unique ID provided.
static const Double_t sGlueThickness
static const Int_t sGrooves
static const Double_t sKaptonThickness
static Geometry * instance()
Singleton access.
static const Double_t sCapacitorDz
static const Double_t sConnectorWidth
static const Double_t sClearance
static const Double_t sSensorInterspace
Interspace between 2 sensors on a ladder.
static const Double_t sConnectorHeight
static const Double_t sGlueEdge
static TGeoHMatrix sTransMFT2ITS
transformation due to the different conventions
static const Double_t sSensorThickness
CMOS sensor part thickness.
static const Double_t sFlexHeight
Flex Height.
static const Double_t sConnectorThickness
static const Double_t sRadiusHole1
static const Double_t sKaptonOnCarbonThickness
static const Double_t sShiftline
static const Double_t sLadderOffsetToEnd
Offset of sensor compare to ladder connector edge.
static const Double_t sRadiusHole2
static const Double_t sHoleShift2
static const Double_t sCapacitorDx
static const Double_t sAluThickness
Int_t getNChips()
Returns the number of sensors on the Half-Disk.
HalfDiskSegmentation * getHalfDisk(Int_t iDisk) const
HalfSegmentation * getHalf(Int_t iHalf) const
Returns pointer to the segmentation of the half-MFT.
Int_t getDetElemLocalID(Int_t half, Int_t disk, Int_t ladder, Int_t sensor) const
GLint GLint GLsizei GLint GLenum GLenum type