![]() |
AliRoot Core
a565103 (a565103)
|
Class Handling both Virutal Segmentation and Real Volumes. More...
#include <AliMFTGeometry.h>
Public Types | |
enum | ObjectTypes { kHalfMFTType, kHalfDiskType, kPlaneType, kLadderType, kSensorType } |
Public Member Functions | |
virtual | ~AliMFTGeometry () |
virtual void | GetGlobal (const AliRecPoint *p, TVector3 &pos, TMatrixF &mat) const |
virtual void | GetGlobal (const AliRecPoint *p, TVector3 &pos) const |
virtual Bool_t | Impact (const TParticle *particle) const |
void | Build () |
Builf both the Virtual segmentation and the real volumes Real part is delegates to AliMFTGeometryBuilder class. More... | |
Int_t | GetObjectType (UInt_t uniqueID) const |
Returns Object type based on Unique ID provided. More... | |
Int_t | GetHalfMFTID (UInt_t uniqueID) const |
Returns Half-MFT ID based on Unique ID provided. More... | |
Int_t | GetHalfDiskID (UInt_t uniqueID) const |
Returns Half-Disk ID based on Unique ID provided. More... | |
Int_t | GetLadderID (UInt_t uniqueID) const |
Returns Ladder ID based on Unique ID provided. More... | |
Int_t | GetSensorID (UInt_t uniqueID) const |
Returns Sensor ID based on Unique ID provided. More... | |
UInt_t | GetObjectID (ObjectTypes type, Int_t half=0, Int_t disk=0, Int_t ladder=0, Int_t chip=0) const |
Returns the object Unique ID. More... | |
Int_t | GetSensorVolumeID () const |
Returns TGeo ID of the volume describing the sensors. More... | |
void | SetSensorVolumeID (Int_t val) |
Set the TGeo ID of the volume describing the sensors. More... | |
AliMFTSegmentation * | GetSegmentation () const |
Returns pointer to the segmentation. More... | |
Bool_t | Hit2PixelID (Double_t xHit, Double_t yHit, Double_t zHit, Int_t detElemID, Int_t &xPixel, Int_t &yPixel) const |
Returns the pixel ID corresponding to a hit at (x,y,z) in the ALICE global frame. More... | |
void | GetPixelCenter (Int_t xPixel, Int_t yPixel, Int_t detElemID, Double_t &xCenter, Double_t &yCenter, Double_t &zCenter) const |
Returns the center of the pixel position in the ALICE global frame. More... | |
Int_t | GetDiskNSensors (Int_t diskId) const |
Returns the number of sensors on the entire disk (top+bottom) More... | |
Int_t | GetDetElemLocalID (Int_t detElem) const |
Returns the local ID of the sensor on the disk. More... | |
void | LoadSegmentation () |
Creates the virtual Segmentation from the XML file /ITSMFT/MFT/data/AliMFTGeometry.xml. More... | |
Static Public Member Functions | |
static AliMFTGeometry * | Instance () |
Retuns MFT Geometry singleton object. More... | |
Static Public Attributes | |
static const Int_t | kNDisks = 5 |
Number of Disk. More... | |
static const Double_t | kSensorLength =3. |
CMOS Sensor Length. More... | |
static const Double_t | kSensorHeight =1.5 |
CMOS Sensor Height. More... | |
static const Double_t | kSensorActiveHeight = kNPixelY * kYPixelPitch |
CMOS Sensor Active height. More... | |
static const Double_t | kSensorActiveWidth = kNPixelX * kXPixelPitch |
CMOS Sensor Active width. More... | |
static const Double_t | kSensorThickness = 50.e-4 |
CMOS Sensor Thickness. More... | |
static const Double_t | kXPixelPitch =29.250e-4 |
Pixel pitch along X. More... | |
static const Double_t | kYPixelPitch =26.880e-4 |
Pixel pitch along Y. More... | |
static const Int_t | kNPixelX = 1024 |
Number of Pixel along X. More... | |
static const Int_t | kNPixelY = 512 |
Number of Pixel along Y. More... | |
static const Double_t | kSensorMargin =29.120e-4 |
Inactive margin around active area. More... | |
static const Double_t | kSensorInterspace = 0.01 |
Interspace between 2 sensors on a ladder. More... | |
static const Double_t | kSensorSideOffset = 0.04 |
Offset of sensor compare to ladder edge (close to the beam pipe) More... | |
static const Double_t | kSensorTopOffset = 0.04 |
Offset of sensor compare to ladder top edge. More... | |
static const Double_t | kLadderOffsetToEnd = 4.7 |
Offset of sensor compare to ladder connector edge. More... | |
static const Double_t | fHeightActive = 1.3 |
height of the active elements More... | |
static const Double_t | fHeightReadout = 0.2 |
height of the readout elements attached to the active ones More... | |
static const Double_t | kFlexHeight = 1.68 |
Flex Height. More... | |
static const Double_t | kLineWidth = 100.e-4 |
static const Double_t | kVarnishThickness = 20.e-4 |
static const Double_t | kAluThickness = 25.e-4 |
static const Double_t | kKaptonThickness = 75.e-4 |
static const Double_t | kFlexThickness = kKaptonThickness + 2*kAluThickness + 2*kVarnishThickness |
Flex Thickness. More... | |
static const Double_t | kClearance =300.e-4 |
static const Double_t | kRadiusHole1 =0.125 |
static const Double_t | kRadiusHole2 =0.1 |
static const Double_t | kHoleShift1 =2.8 |
static const Double_t | kHoleShift2 =3.6 |
static const Double_t | kConnectorOffset =0.4 |
static const Double_t | kCapacitorDz =0.05 |
static const Double_t | kCapacitorDy =0.1 |
static const Double_t | kCapacitorDx =0.05 |
static const Double_t | kConnectorLength =0.1 |
static const Double_t | kConnectorWidth =0.025 |
static const Double_t | kConnectorHeight =0.1 |
static const Double_t | kConnectorThickness =0.01 |
static const Double_t | kEpsilon =0.0001 |
static const Double_t | kGlueThickness =100.e-4 |
static const Double_t | kGlueEdge =300.e-4 |
static const Double_t | kShiftDDGNDline =0.4 |
static const Double_t | kShiftline =0.025 |
Private Member Functions | |
AliMFTGeometry () | |
Constructor. More... | |
AliMFTGeometry (const char *name) | |
Default Constructor. More... | |
Private Attributes | |
AliMFTGeometryBuilder * | fBuilder |
Geometry Builder. More... | |
AliMFTSegmentation * | fSegmentation |
Segmentation of the detector. More... | |
Int_t | fSensorVolumeId |
ID of the volume describing the CMOS Sensor. More... | |
Static Private Attributes | |
static AliMFTGeometry * | fgInstance = 0 |
Singleton instance. More... | |
Class Handling both Virutal Segmentation and Real Volumes.
Geometry mananger for the MFT
Definition at line 24 of file AliMFTGeometry.h.
Enumerator | |
---|---|
kHalfMFTType | |
kHalfDiskType | |
kPlaneType | |
kLadderType | |
kSensorType |
Definition at line 76 of file AliMFTGeometry.h.
|
virtual |
Definition at line 126 of file AliMFTGeometry.cxx.
|
private |
|
private |
Default Constructor.
Definition at line 116 of file AliMFTGeometry.cxx.
void AliMFTGeometry::Build | ( | ) |
Builf both the Virtual segmentation and the real volumes Real part is delegates to AliMFTGeometryBuilder class.
Definition at line 134 of file AliMFTGeometry.cxx.
Referenced by AliMFT::CreateGeometry().
Int_t AliMFTGeometry::GetDetElemLocalID | ( | Int_t | detElemID | ) | const |
Returns the local ID of the sensor on the disk.
[in] | detElemID | Int_t: Sensor Unique ID |
Definition at line 238 of file AliMFTGeometry.cxx.
Referenced by AliMFTClusterFinder::DigitsToClusters(), and AliMFTDigitizer::SDigits2Digits().
Int_t AliMFTGeometry::GetDiskNSensors | ( | Int_t | diskId | ) | const |
Returns the number of sensors on the entire disk (top+bottom)
[in] | diskId | Int_t: Disk ID = [0,4] |
Definition at line 223 of file AliMFTGeometry.cxx.
Referenced by AliMFTClusterFinder::DigitsToClusters(), and AliMFTDigitizer::SDigits2Digits().
|
inlinevirtual |
Definition at line 79 of file AliMFTGeometry.h.
|
inlinevirtual |
Definition at line 80 of file AliMFTGeometry.h.
|
inline |
Returns Half-Disk ID based on Unique ID provided.
Definition at line 89 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), AliMFTHalfDisk::AliMFTHalfDisk(), AliMFTHalfDiskSegmentation::AliMFTHalfDiskSegmentation(), AliMFTLadderSegmentation::AliMFTLadderSegmentation(), AliMFTHalf::CreateHalfDisks(), AliMFTHalfDisk::CreateHeatExchanger(), AliMFTHalfDiskSegmentation::CreateLadders(), AliMFTLadder::CreateSensors(), AliMFTLadderSegmentation::CreateSensors(), GetDetElemLocalID(), GetPixelCenter(), Hit2PixelID(), AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_ElectricComponent(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), AliMFTFlex::Make_Varnish(), and AliMFTFlex::MakeFlex().
|
inline |
Returns Half-MFT ID based on Unique ID provided.
Definition at line 87 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), AliMFTHalf::AliMFTHalf(), AliMFTHalfDisk::AliMFTHalfDisk(), AliMFTHalfDiskSegmentation::AliMFTHalfDiskSegmentation(), AliMFTLadderSegmentation::AliMFTLadderSegmentation(), AliMFTHalfSegmentation::CreateHalfDisks(), AliMFTHalfDisk::CreateHeatExchanger(), AliMFTHalfDiskSegmentation::CreateLadders(), AliMFTLadder::CreateSensors(), AliMFTLadderSegmentation::CreateSensors(), AliMFTHalfSegmentation::FindHalf(), GetDetElemLocalID(), GetPixelCenter(), Hit2PixelID(), AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_ElectricComponent(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), AliMFTFlex::Make_Varnish(), AliMFTFlex::MakeFlex(), and AliMFTTracker::SeparateFrontBackClusters().
|
inline |
Returns Ladder ID based on Unique ID provided.
Definition at line 91 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), AliMFTLadderSegmentation::AliMFTLadderSegmentation(), AliMFTHalfDisk::CreateLadders(), AliMFTLadder::CreateSensors(), AliMFTLadderSegmentation::CreateSensors(), GetDetElemLocalID(), GetPixelCenter(), Hit2PixelID(), AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_ElectricComponent(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), AliMFTFlex::Make_Varnish(), AliMFTFlex::MakeFlex(), and AliMFTTracker::SeparateFrontBackClusters().
UInt_t AliMFTGeometry::GetObjectID | ( | ObjectTypes | type, |
Int_t | half = 0 , |
||
Int_t | disk = 0 , |
||
Int_t | ladder = 0 , |
||
Int_t | chip = 0 |
||
) | const |
Returns the object Unique ID.
[in] | type | Type of the object (see AliMFTGeometry::ObjectTypes) |
[in] | half | Half-MFT ID |
[in] | disk | Half-Disk ID |
[in] | ladder | Ladder ID |
[in] | chip | Sensor ID |
Definition at line 159 of file AliMFTGeometry.cxx.
Referenced by AliMFTHalfSegmentation::AliMFTHalfSegmentation(), AliMFTHalfSegmentation::CreateHalfDisks(), AliMFTHalfDiskSegmentation::CreateLadders(), AliMFTLadderSegmentation::CreateSensors(), and AliMFT::StepManager().
|
inline |
Returns Object type based on Unique ID provided.
Definition at line 85 of file AliMFTGeometry.h.
void AliMFTGeometry::GetPixelCenter | ( | Int_t | xPixel, |
Int_t | yPixel, | ||
Int_t | detElemID, | ||
Double_t & | xCenter, | ||
Double_t & | yCenter, | ||
Double_t & | zCenter | ||
) | const |
Returns the center of the pixel position in the ALICE global frame.
[in] | xPixel | Int_t : x position of the pixel hit on the sensor matrix |
[in] | yPixel | Int_t : y position of the pixel hit on the sensor matrix |
[in] | detElemID | Int_t : Sensor Unique ID in which the hit occured |
[out] | xCenter,yCenter,zCenter | Double_t : (x,y,z) Position of the Hit in ALICE global frame |
Definition at line 193 of file AliMFTGeometry.cxx.
Referenced by AliMFT::Hits2SDigitsLocal().
|
inline |
Returns pointer to the segmentation.
Definition at line 103 of file AliMFTGeometry.h.
Referenced by AliMFTTracker::AliMFTTracker(), AliMFTGeometryBuilder::BuildGeometry(), AliMFT::Hits2SDigits(), AliMFTClusterFinder::Init(), AliMFTTracker::SeparateFrontBackClusters(), and AliMFT::StepManager().
|
inline |
Returns Sensor ID based on Unique ID provided.
Definition at line 93 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), GetDetElemLocalID(), GetPixelCenter(), and Hit2PixelID().
|
inline |
Returns TGeo ID of the volume describing the sensors.
Definition at line 98 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateSensors(), and AliMFT::StepManager().
Bool_t AliMFTGeometry::Hit2PixelID | ( | Double_t | xHit, |
Double_t | yHit, | ||
Double_t | zHit, | ||
Int_t | detElemID, | ||
Int_t & | xPixel, | ||
Int_t & | yPixel | ||
) | const |
Returns the pixel ID corresponding to a hit at (x,y,z) in the ALICE global frame.
[in] | xHit | Double_t : x Position of the Hit |
[in] | yHit | Double_t : y Position of the Hit |
[in] | zHit | Double_t : z Position of the Hit |
[in] | detElemID | Int_t : Sensor Unique ID in which the hit occured |
[out] | xPixel | Int_t : x position of the pixel hit on the sensor matrix |
[out] | yPixel | Int_t : y position of the pixel hit on the sensor matrix |
<kTRUE> | if hit into the active part of the sensor |
<kFALSE> | if hit outside the active part |
Definition at line 178 of file AliMFTGeometry.cxx.
Referenced by AliMFT::Hits2SDigitsLocal().
|
inlinevirtual |
Definition at line 81 of file AliMFTGeometry.h.
|
static |
Retuns MFT Geometry singleton object.
Singleton access.
Definition at line 97 of file AliMFTGeometry.cxx.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), AliMFTHalf::AliMFTHalf(), AliMFTHalfDisk::AliMFTHalfDisk(), AliMFTHalfDiskSegmentation::AliMFTHalfDiskSegmentation(), AliMFTHalfSegmentation::AliMFTHalfSegmentation(), AliMFTLadderSegmentation::AliMFTLadderSegmentation(), AliMFTTracker::AliMFTTracker(), AliMFTGeometryBuilder::BuildGeometry(), AliMFT::CreateGeometry(), AliMFTHalf::CreateHalfDisks(), AliMFTHalfSegmentation::CreateHalfDisks(), AliMFTHalfDisk::CreateHeatExchanger(), AliMFTHalfDisk::CreateLadders(), AliMFTHalfDiskSegmentation::CreateLadders(), AliMFTLadder::CreateSensors(), AliMFTLadderSegmentation::CreateSensors(), AliMFTClusterFinder::DigitsToClusters(), AliMFTHalfSegmentation::FindHalf(), AliMFT::Hits2SDigits(), AliMFT::Hits2SDigitsLocal(), AliMFTClusterFinder::Init(), AliMFTReconstructor::Init(), AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_ElectricComponent(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), AliMFTFlex::Make_Varnish(), AliMFTFlex::MakeFlex(), AliMFTDigitizer::SDigits2Digits(), AliMFTTracker::SeparateFrontBackClusters(), and AliMFT::StepManager().
void AliMFTGeometry::LoadSegmentation | ( | ) |
Creates the virtual Segmentation from the XML file /ITSMFT/MFT/data/AliMFTGeometry.xml.
Definition at line 146 of file AliMFTGeometry.cxx.
Referenced by Build(), and AliMFTReconstructor::Init().
|
inline |
Set the TGeo ID of the volume describing the sensors.
Definition at line 100 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateSensors().
|
private |
Geometry Builder.
Definition at line 119 of file AliMFTGeometry.h.
Referenced by Build(), and ~AliMFTGeometry().
|
staticprivate |
|
static |
height of the active elements
Definition at line 44 of file AliMFTGeometry.h.
|
static |
height of the readout elements attached to the active ones
Definition at line 45 of file AliMFTGeometry.h.
|
private |
Segmentation of the detector.
Definition at line 120 of file AliMFTGeometry.h.
Referenced by GetDetElemLocalID(), GetDiskNSensors(), GetPixelCenter(), GetSegmentation(), Hit2PixelID(), LoadSegmentation(), and ~AliMFTGeometry().
|
private |
ID of the volume describing the CMOS Sensor.
Definition at line 121 of file AliMFTGeometry.h.
Referenced by GetSensorVolumeID(), and SetSensorVolumeID().
|
static |
Definition at line 50 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::MakeFlex().
|
static |
Definition at line 61 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_ElectricComponents().
|
static |
Definition at line 60 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_ElectricComponents().
|
static |
Definition at line 59 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_ElectricComponents().
|
static |
Definition at line 53 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::MakeFlex().
|
static |
Definition at line 64 of file AliMFTGeometry.h.
|
static |
Definition at line 62 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_ElectricComponents().
|
static |
Definition at line 58 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_ElectricComponents(), and AliMFTFlex::Make_Lines().
|
static |
Definition at line 65 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_ElectricComponents().
|
static |
Definition at line 63 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_ElectricComponents().
|
static |
Definition at line 66 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), and AliMFTFlex::Make_Varnish().
|
static |
Flex Height.
Definition at line 47 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateVolume(), AliMFTFlex::Make_ElectricComponents(), and AliMFTFlex::MakeFlex().
|
static |
Flex Thickness.
Definition at line 52 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), and AliMFTLadder::CreateVolume().
|
static |
Definition at line 68 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateSensors().
|
static |
Definition at line 67 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateSensors(), and AliMFTFlex::MakeFlex().
|
static |
Definition at line 56 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), and AliMFTFlex::Make_Varnish().
|
static |
Definition at line 57 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), and AliMFTFlex::Make_Varnish().
|
static |
Definition at line 51 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::MakeFlex().
|
static |
Offset of sensor compare to ladder connector edge.
Definition at line 43 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateVolume().
|
static |
Definition at line 48 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), and AliMFTFlex::Make_Lines().
|
static |
Number of Disk.
Definition at line 28 of file AliMFTGeometry.h.
|
static |
Number of Pixel along X.
Definition at line 36 of file AliMFTGeometry.h.
|
static |
Number of Pixel along Y.
Definition at line 37 of file AliMFTGeometry.h.
|
static |
Definition at line 54 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), and AliMFTFlex::Make_Varnish().
|
static |
Definition at line 55 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), AliMFTFlex::Make_Kapton(), AliMFTFlex::Make_Lines(), and AliMFTFlex::Make_Varnish().
|
static |
CMOS Sensor Active height.
Definition at line 31 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateSensors().
|
static |
CMOS Sensor Active width.
Definition at line 32 of file AliMFTGeometry.h.
|
static |
CMOS Sensor Height.
Definition at line 30 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateSensors(), and AliMFTLadder::CreateVolume().
|
static |
Interspace between 2 sensors on a ladder.
Definition at line 40 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), and AliMFTLadder::CreateVolume().
|
static |
CMOS Sensor Length.
Definition at line 29 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), AliMFTLadder::CreateSensors(), AliMFTLadder::CreateVolume(), AliMFTFlex::Make_ElectricComponents(), and AliMFTFlex::Make_Lines().
|
static |
Inactive margin around active area.
Definition at line 38 of file AliMFTGeometry.h.
|
static |
Offset of sensor compare to ladder edge (close to the beam pipe)
Definition at line 41 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), and AliMFTLadder::CreateVolume().
|
static |
CMOS Sensor Thickness.
Definition at line 33 of file AliMFTGeometry.h.
Referenced by AliMFTLadder::CreateSensors().
|
static |
Offset of sensor compare to ladder top edge.
Definition at line 42 of file AliMFTGeometry.h.
Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), and AliMFTLadder::CreateVolume().
|
static |
Definition at line 69 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), and AliMFTFlex::Make_Lines().
|
static |
Definition at line 70 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_AGND_DGND(), and AliMFTFlex::Make_Lines().
|
static |
Definition at line 49 of file AliMFTGeometry.h.
Referenced by AliMFTFlex::Make_ElectricComponents(), and AliMFTFlex::MakeFlex().
|
static |
Pixel pitch along X.
Definition at line 34 of file AliMFTGeometry.h.
|
static |
Pixel pitch along Y.
Definition at line 35 of file AliMFTGeometry.h.