26 #include "TGeoMatrix.h"
27 #include "TGeoManager.h"
40 #include "TGeoCompositeShape.h"
41 #include "TGeoBoolNode.h"
55 TNamed(), fMFTFlex(NULL){
63 AliDebug(1, Form(
"Creating : %s", GetName()));
111 TGeoMedium *medSensorSi = gGeoManager->GetMedium(
"MFT_Si$");
112 TGeoMedium *medReadoutSi = gGeoManager->GetMedium(
"MFT_Readout$");
113 TGeoMedium *medAir = gGeoManager->GetMedium(
"MFT_Air$");
114 TGeoMedium *kMedGlue = gGeoManager->GetMedium(
"MFT_Epoxy$");
119 TString namePrefix = Form(
"MFT_S_%d_%d_%d",
127 glue->SetVisibility(kTRUE);
128 glue->SetLineColor(kRed-10);
129 glue->SetLineWidth(1);
130 glue->SetFillColor(glue->GetLineColor());
131 glue->SetFillStyle(4000);
135 chipVol->SetVisibility(kTRUE);
138 TGeoVolume *sensorVol =
new TGeoVolume(
"MFTSensor", sensor, medSensorSi);
139 sensorVol->SetVisibility(kTRUE);
140 sensorVol->SetLineColor(kGreen+1);
141 sensorVol->SetLineWidth(1);
142 sensorVol->SetFillColor(sensorVol->GetLineColor());
143 sensorVol->SetFillStyle(4000);
147 AliFatal(Form(
"Different Sensor VOLUME ID in TGeo !!!!"));
151 TGeoVolume *readoutVol =
new TGeoVolume(
"Readout", readout, medReadoutSi);
152 readoutVol->SetVisibility(kTRUE);
153 readoutVol->SetLineColor(kRed-6);
154 readoutVol->SetLineWidth(1);
155 readoutVol->SetFillColor(readoutVol->GetLineColor());
156 readoutVol->SetFillStyle(4000);
170 Double_t masterglue[3];
171 chipPos->LocalToMaster(pos, master);
172 chipPosGlue->LocalToMaster(posglue, masterglue);
175 master[0] -= shape->GetDX();
176 master[1] -= shape->GetDY();
177 master[2] -= shape->GetDZ();
179 masterglue[0] -= shape->GetDX();
180 masterglue[1] -= shape->GetDY();
181 masterglue[2] -= shape->GetDZ();
183 AliDebug(1,Form(
"Adding Chip %s_%d ",namePrefix.Data(),ichip));
184 fLadderVolume->AddNode(chipVol, ichip,
new TGeoTranslation(master[0],master[1],master[2]));
185 fLadderVolume->AddNode(glue, ichip,
new TGeoTranslation(masterglue[0],masterglue[1],masterglue[2]));
static const Double_t kGlueEdge
TGeoCombiTrans * GetTransformation() const
Returns the Transformation Combining a Rotation followed by a Translation.
Chip Segmentation description.
Int_t GetLadderID(UInt_t uniqueID) const
Returns Ladder ID based on Unique ID provided.
static const Double_t kLadderOffsetToEnd
Offset of sensor compare to ladder connector edge.
Class building the Ladder geometry.
static const Double_t kSensorLength
CMOS Sensor Length.
static const Double_t kLadderDeltaZ
Ladder size along Z direction (thickness)
static const Double_t kSensorInterspace
Interspace between 2 sensors on a ladder.
static const Double_t kLadderDeltaY
Ladder size along Y direction (height)
TGeoVolume * CreateVolume()
Build the ladder.
TGeoVolumeAssembly * MakeFlex(Int_t nbsensors, Double_t length)
static const Double_t kSensorSideOffset
Offset of sensor compare to ladder edge (close to the beam pipe)
static const Double_t kSensorActiveHeight
CMOS Sensor Active height.
static const Double_t kSensorTopOffset
Offset of sensor compare to ladder top edge.
Int_t GetNSensors() const
Returns number of Sensor on the ladder.
AliMFTChipSegmentation * GetSensor(Int_t sensor) const
static AliMFTGeometry * Instance()
Retuns MFT Geometry singleton object.
AliMFTLadder()
Default constructor.
void CreateSensors()
Build the sensors.
AliMFTLadderSegmentation * fSegmentation
Virtual Segmentation object of the ladder.
Description of the virtual segmentation of a ladder.
static const Double_t kFlexThickness
Flex Thickness.
static const Double_t kSensorHeight
CMOS Sensor Height.
static const Double_t kSensorThickness
CMOS Sensor Thickness.
TGeoVolumeAssembly * fLadderVolume
Pointer to the Volume holding the ladder geometry.
static const Double_t kGlueThickness
void SetSensorVolumeID(Int_t val)
Set the TGeo ID of the volume describing the sensors.
Int_t GetHalfMFTID(UInt_t uniqueID) const
Returns Half-MFT ID based on Unique ID provided.
Int_t GetHalfDiskID(UInt_t uniqueID) const
Returns Half-Disk ID based on Unique ID provided.
static const Double_t kFlexHeight
Flex Height.
AliMFTFlex * fMFTFlex
Flex object (.
Class Handling both Virutal Segmentation and Real Volumes.
Int_t GetSensorVolumeID() const
Returns TGeo ID of the volume describing the sensors.