AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMFTGeometry Class Reference

Class Handling both Virutal Segmentation and Real Volumes. More...

#include <AliMFTGeometry.h>

Inheritance diagram for AliMFTGeometry:

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...
 
AliMFTSegmentationGetSegmentation () 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 AliMFTGeometryInstance ()
 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

AliMFTGeometryBuilderfBuilder
 Geometry Builder. More...
 
AliMFTSegmentationfSegmentation
 Segmentation of the detector. More...
 
Int_t fSensorVolumeId
 ID of the volume describing the CMOS Sensor. More...
 

Static Private Attributes

static AliMFTGeometryfgInstance = 0
 Singleton instance. More...
 

Detailed Description

Class Handling both Virutal Segmentation and Real Volumes.

Geometry mananger for the MFT

Author
Raphael Tieulent rapha.nosp@m.el.t.nosp@m.ieule.nosp@m.nt@c.nosp@m.ern.c.nosp@m.h
Date
June 9th, 2015

Definition at line 24 of file AliMFTGeometry.h.

Member Enumeration Documentation

Enumerator
kHalfMFTType 
kHalfDiskType 
kPlaneType 
kLadderType 
kSensorType 

Definition at line 76 of file AliMFTGeometry.h.

Constructor & Destructor Documentation

AliMFTGeometry::~AliMFTGeometry ( )
virtual

Definition at line 126 of file AliMFTGeometry.cxx.

AliMFTGeometry::AliMFTGeometry ( )
private

Constructor.

Definition at line 105 of file AliMFTGeometry.cxx.

Referenced by Instance().

AliMFTGeometry::AliMFTGeometry ( const char *  name)
private

Default Constructor.

Definition at line 116 of file AliMFTGeometry.cxx.

Member Function Documentation

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.

Parameters
[in]detElemIDInt_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)

Parameters
[in]diskIdInt_t: Disk ID = [0,4]

Definition at line 223 of file AliMFTGeometry.cxx.

Referenced by AliMFTClusterFinder::DigitsToClusters(), and AliMFTDigitizer::SDigits2Digits().

virtual void AliMFTGeometry::GetGlobal ( const AliRecPoint *  p,
TVector3 &  pos,
TMatrixF &  mat 
) const
inlinevirtual

Definition at line 79 of file AliMFTGeometry.h.

virtual void AliMFTGeometry::GetGlobal ( const AliRecPoint *  p,
TVector3 &  pos 
) const
inlinevirtual

Definition at line 80 of file AliMFTGeometry.h.

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.

Parameters
[in]typeType of the object (see AliMFTGeometry::ObjectTypes)
[in]halfHalf-MFT ID
[in]diskHalf-Disk ID
[in]ladderLadder ID
[in]chipSensor ID

Definition at line 159 of file AliMFTGeometry.cxx.

Referenced by AliMFTHalfSegmentation::AliMFTHalfSegmentation(), AliMFTHalfSegmentation::CreateHalfDisks(), AliMFTHalfDiskSegmentation::CreateLadders(), AliMFTLadderSegmentation::CreateSensors(), and AliMFT::StepManager().

Int_t AliMFTGeometry::GetObjectType ( UInt_t  uniqueID) const
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.

Parameters
[in]xPixelInt_t : x position of the pixel hit on the sensor matrix
[in]yPixelInt_t : y position of the pixel hit on the sensor matrix
[in]detElemIDInt_t : Sensor Unique ID in which the hit occured
[out]xCenter,yCenter,zCenterDouble_t : (x,y,z) Position of the Hit in ALICE global frame

Definition at line 193 of file AliMFTGeometry.cxx.

Referenced by AliMFT::Hits2SDigitsLocal().

AliMFTSegmentation* AliMFTGeometry::GetSegmentation ( ) const
inline
Int_t AliMFTGeometry::GetSensorID ( UInt_t  uniqueID) const
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().

Int_t AliMFTGeometry::GetSensorVolumeID ( ) const
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.

Parameters
[in]xHitDouble_t : x Position of the Hit
[in]yHitDouble_t : y Position of the Hit
[in]zHitDouble_t : z Position of the Hit
[in]detElemIDInt_t : Sensor Unique ID in which the hit occured
[out]xPixelInt_t : x position of the pixel hit on the sensor matrix
[out]yPixelInt_t : y position of the pixel hit on the sensor matrix
Return values
<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().

virtual Bool_t AliMFTGeometry::Impact ( const TParticle *  particle) const
inlinevirtual

Definition at line 81 of file AliMFTGeometry.h.

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().

void AliMFTGeometry::SetSensorVolumeID ( Int_t  val)
inline

Set the TGeo ID of the volume describing the sensors.

Definition at line 100 of file AliMFTGeometry.h.

Referenced by AliMFTLadder::CreateSensors().

Member Data Documentation

AliMFTGeometryBuilder* AliMFTGeometry::fBuilder
private

Geometry Builder.

Definition at line 119 of file AliMFTGeometry.h.

Referenced by Build(), and ~AliMFTGeometry().

AliMFTGeometry * AliMFTGeometry::fgInstance = 0
staticprivate

Singleton instance.

Definition at line 115 of file AliMFTGeometry.h.

Referenced by Instance().

const Double_t AliMFTGeometry::fHeightActive = 1.3
static

height of the active elements

Definition at line 44 of file AliMFTGeometry.h.

const Double_t AliMFTGeometry::fHeightReadout = 0.2
static

height of the readout elements attached to the active ones

Definition at line 45 of file AliMFTGeometry.h.

AliMFTSegmentation* AliMFTGeometry::fSegmentation
private

Segmentation of the detector.

Definition at line 120 of file AliMFTGeometry.h.

Referenced by GetDetElemLocalID(), GetDiskNSensors(), GetPixelCenter(), GetSegmentation(), Hit2PixelID(), LoadSegmentation(), and ~AliMFTGeometry().

Int_t AliMFTGeometry::fSensorVolumeId
private

ID of the volume describing the CMOS Sensor.

Definition at line 121 of file AliMFTGeometry.h.

Referenced by GetSensorVolumeID(), and SetSensorVolumeID().

const Double_t AliMFTGeometry::kAluThickness = 25.e-4
static

Definition at line 50 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::MakeFlex().

const Double_t AliMFTGeometry::kCapacitorDx =0.05
static

Definition at line 61 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_ElectricComponents().

const Double_t AliMFTGeometry::kCapacitorDy =0.1
static

Definition at line 60 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_ElectricComponents().

const Double_t AliMFTGeometry::kCapacitorDz =0.05
static

Definition at line 59 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_ElectricComponents().

const Double_t AliMFTGeometry::kClearance =300.e-4
static

Definition at line 53 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::MakeFlex().

const Double_t AliMFTGeometry::kConnectorHeight =0.1
static

Definition at line 64 of file AliMFTGeometry.h.

const Double_t AliMFTGeometry::kConnectorLength =0.1
static

Definition at line 62 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_ElectricComponents().

const Double_t AliMFTGeometry::kConnectorOffset =0.4
static
const Double_t AliMFTGeometry::kConnectorThickness =0.01
static

Definition at line 65 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_ElectricComponents().

const Double_t AliMFTGeometry::kConnectorWidth =0.025
static

Definition at line 63 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_ElectricComponents().

const Double_t AliMFTGeometry::kEpsilon =0.0001
static
const Double_t AliMFTGeometry::kFlexHeight = 1.68
static
const Double_t AliMFTGeometry::kFlexThickness = kKaptonThickness + 2*kAluThickness + 2*kVarnishThickness
static

Flex Thickness.

Definition at line 52 of file AliMFTGeometry.h.

Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), and AliMFTLadder::CreateVolume().

const Double_t AliMFTGeometry::kGlueEdge =300.e-4
static

Definition at line 68 of file AliMFTGeometry.h.

Referenced by AliMFTLadder::CreateSensors().

const Double_t AliMFTGeometry::kGlueThickness =100.e-4
static

Definition at line 67 of file AliMFTGeometry.h.

Referenced by AliMFTLadder::CreateSensors(), and AliMFTFlex::MakeFlex().

const Double_t AliMFTGeometry::kHoleShift1 =2.8
static
const Double_t AliMFTGeometry::kHoleShift2 =3.6
static
const Double_t AliMFTGeometry::kKaptonThickness = 75.e-4
static

Definition at line 51 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::MakeFlex().

const Double_t AliMFTGeometry::kLadderOffsetToEnd = 4.7
static

Offset of sensor compare to ladder connector edge.

Definition at line 43 of file AliMFTGeometry.h.

Referenced by AliMFTLadder::CreateVolume().

const Double_t AliMFTGeometry::kLineWidth = 100.e-4
static

Definition at line 48 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_AGND_DGND(), and AliMFTFlex::Make_Lines().

const Int_t AliMFTGeometry::kNDisks = 5
static

Number of Disk.

Definition at line 28 of file AliMFTGeometry.h.

const Int_t AliMFTGeometry::kNPixelX = 1024
static

Number of Pixel along X.

Definition at line 36 of file AliMFTGeometry.h.

const Int_t AliMFTGeometry::kNPixelY = 512
static

Number of Pixel along Y.

Definition at line 37 of file AliMFTGeometry.h.

const Double_t AliMFTGeometry::kRadiusHole1 =0.125
static
const Double_t AliMFTGeometry::kRadiusHole2 =0.1
static
const Double_t AliMFTGeometry::kSensorActiveHeight = kNPixelY * kYPixelPitch
static

CMOS Sensor Active height.

Definition at line 31 of file AliMFTGeometry.h.

Referenced by AliMFTLadder::CreateSensors().

const Double_t AliMFTGeometry::kSensorActiveWidth = kNPixelX * kXPixelPitch
static

CMOS Sensor Active width.

Definition at line 32 of file AliMFTGeometry.h.

const Double_t AliMFTGeometry::kSensorHeight =1.5
static

CMOS Sensor Height.

Definition at line 30 of file AliMFTGeometry.h.

Referenced by AliMFTLadder::CreateSensors(), and AliMFTLadder::CreateVolume().

const Double_t AliMFTGeometry::kSensorInterspace = 0.01
static

Interspace between 2 sensors on a ladder.

Definition at line 40 of file AliMFTGeometry.h.

Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), and AliMFTLadder::CreateVolume().

const Double_t AliMFTGeometry::kSensorLength =3.
static
const Double_t AliMFTGeometry::kSensorMargin =29.120e-4
static

Inactive margin around active area.

Definition at line 38 of file AliMFTGeometry.h.

const Double_t AliMFTGeometry::kSensorSideOffset = 0.04
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().

const Double_t AliMFTGeometry::kSensorThickness = 50.e-4
static

CMOS Sensor Thickness.

Definition at line 33 of file AliMFTGeometry.h.

Referenced by AliMFTLadder::CreateSensors().

const Double_t AliMFTGeometry::kSensorTopOffset = 0.04
static

Offset of sensor compare to ladder top edge.

Definition at line 42 of file AliMFTGeometry.h.

Referenced by AliMFTChipSegmentation::AliMFTChipSegmentation(), and AliMFTLadder::CreateVolume().

const Double_t AliMFTGeometry::kShiftDDGNDline =0.4
static

Definition at line 69 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_AGND_DGND(), and AliMFTFlex::Make_Lines().

const Double_t AliMFTGeometry::kShiftline =0.025
static

Definition at line 70 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_AGND_DGND(), and AliMFTFlex::Make_Lines().

const Double_t AliMFTGeometry::kVarnishThickness = 20.e-4
static

Definition at line 49 of file AliMFTGeometry.h.

Referenced by AliMFTFlex::Make_ElectricComponents(), and AliMFTFlex::MakeFlex().

const Double_t AliMFTGeometry::kXPixelPitch =29.250e-4
static

Pixel pitch along X.

Definition at line 34 of file AliMFTGeometry.h.

const Double_t AliMFTGeometry::kYPixelPitch =26.880e-4
static

Pixel pitch along Y.

Definition at line 35 of file AliMFTGeometry.h.


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