ROOT logo
AliRoot » ITS » AliITSv11GeometrySDD

class AliITSv11GeometrySDD: public AliITSv11Geometry


 SDD geometry, based on ROOT geometrical modeler


 This geometry has no dependence with aliroot, you can run it with root
 only, provided that the AliITSv11GeomCable classes are also compiled

 Ludovic Gaudichet                                   gaudichet@to.infn.it

Function Members (Methods)

public:
AliITSv11GeometrySDD()
AliITSv11GeometrySDD(Int_t debug)
AliITSv11GeometrySDD(const AliITSv11GeometrySDD& source)
virtual~AliITSv11GeometrySDD()
voidTObject::AbstractMethod(const char* method) const
voidAddCables(bool b)
voidAddCoolingSyst(bool b)
voidAddHVcables(bool b)
voidAddHybrids(bool b)
voidAddOnlyLay3Ladder(Int_t min, Int_t max)
voidAddOnlyLay4Ladder(Int_t min, Int_t max)
voidAddSensors(bool b)
Bool_tAliITSv11Geometry::AngleOfIntersectionWithLine(Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t xc, Double_t yc, Double_t rc, Double_t& t0, Double_t& t1) const
voidAliITSv11Geometry::AnglesForRoundedCorners(Double_t x0, Double_t y0, Double_t r0, Double_t x1, Double_t y1, Double_t r1, Double_t& t0, Double_t& t1) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidCheckOverlaps(Double_t precision = 0.01)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Double_tAliITSv11Geometry::CosD(Double_t deg) const
voidAliITSv11Geometry::CreateDefaultMaterials()
virtual voidAliITSv11Geometry::CreateMaterials()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
voidAliITSv11Geometry::DrawCrossSection(const TGeoPcon* p, Int_t fillc = 7, Int_t fills = 4050, Int_t linec = 3, Int_t lines = 1, Int_t linew = 4, Int_t markc = 2, Int_t marks = 4, Float_t marksize = 1.0) const
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidForwardLayer3(TGeoVolume* moth)
virtual voidForwardLayer4(TGeoVolume* moth)
virtual Int_tGetCurrentLayLaddDet(Int_t& lay, Int_t& ladd, Int_t& det) const
Bool_tAliITSv11Geometry::GetDebug(Int_t level = 1) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Int_tGetLay3NLadders() const
Int_tGetLay4NLadders() const
TGeoVolume*GetMotherVolume() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const char*GetSenstiveVolumeName3() const
const char*GetSenstiveVolumeName4() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidAliITSv11Geometry::InsidePoint(const TGeoPcon* p, Int_t i1, Int_t i2, Int_t i3, Double_t Cthick, TGeoPcon* q, Int_t j1, Bool_t max) const
voidAliITSv11Geometry::InsidePoint(Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t c, Double_t& x, Double_t& y) const
virtual voidTObject::Inspect() constMENU
static Bool_tAliITSv11Geometry::IntersectCircle(Double_t m, Double_t x0, Double_t y0, Double_t rr, Double_t xc, Double_t yc, Double_t& xi1, Double_t& yi1, Double_t& xi2, Double_t& yi2)
voidAliITSv11Geometry::IntersectLines(Double_t m, Double_t x0, Double_t y0, Double_t n, Double_t x1, Double_t y1, Double_t& xi, Double_t& yi) const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidLayer3(TGeoVolume* moth)
virtual voidLayer4(TGeoVolume* moth)
virtual voidTObject::ls(Option_t* option = "") const
voidAliITSv11Geometry::MakeFigure1(Double_t x0 = 0.0, Double_t y0 = 0.0, Double_t r0 = 2.0, Double_t x1 = -4.0, Double_t y1 = -2.0, Double_t r1 = 1.0)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliITSv11GeometrySDD&operator=(const AliITSv11GeometrySDD& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidAliITSv11Geometry::PrintArb8(const TGeoArb8* a) const
voidAliITSv11Geometry::PrintBBox(const TGeoBBox* a) const
voidAliITSv11Geometry::PrintConeSeg(const TGeoConeSeg* a) const
voidAliITSv11Geometry::PrintPcon(const TGeoPcon* a) const
voidAliITSv11Geometry::PrintTube(const TGeoTube* a) const
voidAliITSv11Geometry::PrintTubeSeg(const TGeoTubeSeg* a) const
voidAliITSv11Geometry::RadiusOfCurvature(Double_t rc, Double_t theta0, Double_t z0, Double_t r0, Double_t theta1, Double_t& z1, Double_t& r1) const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
Double_tAliITSv11Geometry::RFrom2Points(const Double_t* ar, const Double_t* az, Int_t i1, Int_t i2, Double_t z) const
Double_tAliITSv11Geometry::RFromZpCone(const Double_t* ar, const Double_t* az, int ip, Double_t tc, Double_t z, Double_t th = 0.0) const
Double_tAliITSv11Geometry::RmaxFrom2Points(const TGeoPcon* p, Int_t i1, Int_t i2, Double_t z) const
Double_tAliITSv11Geometry::RmaxFromZpCone(const TGeoPcon* p, int ip, Double_t tc, Double_t z, Double_t th = 0.0) const
Double_tAliITSv11Geometry::RminFrom2Points(const TGeoPcon* p, Int_t i1, Int_t i2, Double_t z) const
Double_tAliITSv11Geometry::RminFromZpCone(const TGeoPcon* p, Int_t ip, Double_t tc, Double_t z, Double_t th = 0.0) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual voidSDDCables(TGeoVolume* moth)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliITSv11Geometry::SetDebug(Int_t level = 5)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliITSv11Geometry::SetNoDebug()
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetParameters()
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
voidShowOnePiece(TGeoVolume* Moth)
Double_tAliITSv11Geometry::SinD(Double_t deg) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Double_tAliITSv11Geometry::TanD(Double_t deg) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
Double_tAliITSv11Geometry::Xfrom2Points(Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t y) const
Double_tAliITSv11Geometry::Yfrom2Points(Double_t x0, Double_t y0, Double_t x1, Double_t y1, Double_t x) const
Double_tAliITSv11Geometry::Zfrom2MaxPoints(const TGeoPcon* p, Int_t i1, Int_t i2, Double_t r) const
Double_tAliITSv11Geometry::Zfrom2MinPoints(const TGeoPcon* p, Int_t i1, Int_t i2, Double_t r) const
Double_tAliITSv11Geometry::Zfrom2Points(const Double_t* az, const Double_t* ar, Int_t i1, Int_t i2, Double_t r) const
Double_tAliITSv11Geometry::ZFromRmaxpCone(const TGeoPcon* p, int ip, Double_t tc, Double_t r, Double_t th = 0.0) const
Double_tAliITSv11Geometry::ZFromRmaxpCone(const Double_t* ar, const Double_t* az, Int_t ip, Double_t tc, Double_t r, Double_t th = 0.0) const
Double_tAliITSv11Geometry::ZFromRminpCone(const TGeoPcon* p, int ip, Double_t tc, Double_t r, Double_t th = 0.0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
voidAddTranslationToCombiTrans(TGeoCombiTrans* ct, Double_t dx = 0, Double_t dy = 0, Double_t dz = 0) const
Int_tCreateAndInsetConeCablePart(TGeoVolume* mother, Double_t angle, Int_t nLay3, Int_t nLay4, Double_t r1, Double_t z1, Double_t r2, Double_t z2)
virtual TGeoVolume*CreateBaseThermalBridge()
voidCreateBasicObjects()
virtual TGeoVolumeAssembly*CreateCarlosCard(Int_t iLay)
TGeoCombiTrans*CreateCombiTrans(const char* name, Double_t dy, Double_t dz, Double_t dphi, Bool_t planeSym = kFALSE)
TGeoPcon*CreateConeConstSection(Double_t r1max, Double_t z1, Double_t r2max, Double_t z2, Double_t section, Int_t nDiv = 1)
virtual TGeoVolume*CreateCoolPipeSupportL()
virtual TGeoVolume*CreateCoolPipeSupportR()
virtual TGeoVolumeAssembly*CreateDetectorsAssembly(Int_t iLay)
virtual TGeoVolumeAssembly*CreateDetectorsAssemblyLadd2()
virtual TGeoVolumeAssembly*CreateEndLadder(Int_t iLay)
virtual TGeoVolumeAssembly*CreateEndLadderCards(Int_t iLay)
virtual TGeoVolume*CreateEndLadderCardsV(Int_t iLay)
virtual TGeoVolumeAssembly*CreateHVCard()
virtual TGeoVolume*CreateHybrid(Int_t iLRSide)
virtual TGeoVolumeAssembly*CreateLadder(Int_t iLay)
virtual TGeoVolumeAssembly*CreateLadderFoot()
virtual TGeoVolume*CreateLadderSegment(Int_t iLay, Int_t iSeg)
TGeoArb8*CreateLadderSide(const char* name, Double_t dz, Double_t angle, Double_t xSign, Double_t L, Double_t H, Double_t l)
virtual Int_tCreateLVCard()
virtual TGeoVolume*CreatePinSupport()
virtual voidCreateSDDsensor()
virtual TGeoVolumeAssembly*CreateSupportRing()
Double_tGetConeZ(Double_t r, Double_t refR1, Double_t refR2, Double_t refZ1, Double_t refZ2) const
virtual TGeoMedium*GetMedium(const char* mediumName)

Data Members

protected:
static const Double_tAliITSv11Geometry::fgkCelsiusTemperature in degrees Celcius
static const Double_tAliITSv11Geometry::fgkDegreeConvert degrees to TGeom's degrees
static const Double_tAliITSv11Geometry::fgkGeVEnergy in GeV
static const Double_tAliITSv11Geometry::fgkKPascalPreasure in KPascal
static const Double_tAliITSv11Geometry::fgkKeVEnergy in KeV
static const Double_tAliITSv11Geometry::fgkKgdm3Density in kg/dm^3
static const Double_tAliITSv11Geometry::fgkKgm3Density in kg/m^3
static const Double_tAliITSv11Geometry::fgkMeVEnergy in MeV
static const Double_tAliITSv11Geometry::fgkPascalPreasure in Pascal
static const Double_tAliITSv11Geometry::fgkRadianTo Radians
static const Double_tAliITSv11Geometry::fgkcmConvert cm to TGeom's cm.
static const Double_tAliITSv11Geometry::fgkeVEnergy in eV
static const Double_tAliITSv11Geometry::fgkgcm3Density in g/cm^3
static const Double_tAliITSv11Geometry::fgkmicronConvert micron to TGeom's cm.
static const Double_tAliITSv11Geometry::fgkmmConvert mm to TGeom's cm.
private:
boolfAddCablesInsert cables ? (default TRUE)
boolfAddCoolingSystInsert cooling system ? (default TRUE)
boolfAddHVcablesInsert HV cables ? (default TRUE)
boolfAddHybridsInsert hybrids ? (default TRUE)
Int_tfAddOnlyLadder3maxlast ladder index
Int_tfAddOnlyLadder3minfirst ladder index
Int_tfAddOnlyLadder4maxlast ladder index
Int_tfAddOnlyLadder4minfirst ladder index
boolfAddSensorsInsert sensors ? (default TRUE)
TGeoVolume*fBaseThermalBridge! Base of hybrid thermal bridge
TGeoVolumeAssembly*fCardCarlos! end-ladder CARLOS card
TGeoVolumeAssembly*fCardHV! high voltage card
TGeoVolumeAssembly*fCardLVL! low voltage card, left
TGeoVolumeAssembly*fCardLVR! low voltage card, right
Int_tfColorAl===
Int_tfColorCarbonFiberdisplay colors
Int_tfColorGlass===
Int_tfColorPhynox===
Int_tfColorPolyhamide===
Int_tfColorRyton===
Int_tfColorSMD===
Int_tfColorSMDweld===
Int_tfColorSilicon===
Int_tfColorStesalite===
TGeoMatrix*fCommonTr[2]! some common transformations
TGeoVolume*fCommonVol[2]! some common vol. used in several places
TGeoVolume*fCoolPipeSupportL! half of cooling pipe support
TGeoVolume*fCoolPipeSupportR! half of cooling pipe support
boolfCoolingOnInsert cooling fluid ? (default TRUE)
AliITSv11GeomCableFlat*fDigitCableLay3Alayer 3 cables, side A
AliITSv11GeomCableFlat*fDigitCableLay3Blayer 3 cables, side B
AliITSv11GeomCableFlat*fDigitCableLay4Alayer 4 cables, side A
AliITSv11GeomCableFlat*fDigitCableLay4Blayer 4 cables, side B
TGeoVolume*fHybrid! hybrid volume
TGeoMatrix*fLaddSegCommonTr[20]! their transf.
TGeoVolume*fLaddSegCommonVol[20]! volumes in ladder
TGeoVolumeAssembly*fLadderFoot! ladder foot in stesalite
Double_tfLay3LaddLongRadiusladder 3 to beam axis radius
Double_tfLay3LaddShortRadiusladder 3 to beam axis radius
Double_tfLay3LadderUnderSegDHTo include HVcables in box
Double_tfLay3sensorZPos[6]Z pos of sensors in layer 3
Double_tfLay4LaddLongRadiusladder 4 to beam axis radius
Double_tfLay4LaddShortRadiusladder 4 to beam axis radius
Double_tfLay4LadderUnderSegDHTo include HVcables in box
Double_tfLay4sensorZPos[8]Z pos of sensors in layer 4
TGeoVolume*fMotherVol! mother volume given in LayerX() funct.
TGeoVolume*fPinSupport! pins glued to sensors
TGeoVolumeAssembly*fRaccordoL! link between cooling tubes at end ladder
TGeoVolume*fSDDsensor3! sensor of lay. 3 and HV cables on it
TGeoVolume*fSDDsensor4! sensor of lay. 4 and HV cables on it
static const Double_tfgkBTBHoleLength===
static const Double_tfgkBTBHoleRefX===
static const Double_tfgkBTBHoleRefY===
static const Double_tfgkBTBHolewidth===
static const Double_tfgkBTBaxisAtoBasethe cooling pipe axis
static const Double_tfgkBTBaxisAtoBottomaxis A is the same as
static const Double_tfgkBTBlengthBase of Thermal Bridge
static const Double_tfgkBTBthickBTB for :
static const Double_tfgkBTBwidth=====================
static const Double_tfgkBeamSidePhiside beam angle
static const Double_tfgkBottomBeamAnglebottom beam angle
static const Double_tfgkCableBendRatio??? this factor account for the bending of cables
static const Double_tfgkCarlosCard2HeatBridgedistance from the heat bridge center to the card center
static const Double_tfgkCarlosCardChipSiThickCarlos Chip thicknes - value to be checked
static const Double_tfgkCarlosCardCuYthickness of Cu layer (strips)
static const Double_tfgkCarlosCardShift(value to be checked) shift in z w.r.t. heat bridge
static const Double_tfgkCarlosCardX1length (first part of Carlos card)
static const Double_tfgkCarlosCardX2length (2nd part of Carlos card)
static const Double_tfgkCarlosCardY1thickness
static const Double_tfgkCarlosCardZ1width
static const Double_tfgkCarlosCardZ2width
static const Double_tfgkCarlosQZ1Xsame convention
static const Double_tfgkCarlosQZ1Ylook more thick than design number (0.7) ! to be checked
static const Double_tfgkCarlosQZ1Zto be checked
static const Double_tfgkCarlosQZ1posXto be checked
static const Double_tfgkCarlosQZ1posZto be checked
static const Double_tfgkCarlosSuppAngle===
static const Double_tfgkCarlosSuppTopLen===
static const Double_tfgkCarlosSuppX1piece with which
static const Double_tfgkCarlosSuppX2is fixed
static const Double_tfgkCarlosSuppX3===
static const Double_tfgkCarlosSuppY1the carlos card
static const Double_tfgkCarlosSuppY2===
static const Double_tfgkCarlosSuppY3===
static const Double_tfgkCarlosSuppZ===
static const Double_tfgkCarlosSuppZ3===
static const Double_tfgkCarlosU17Xsame convention
static const Double_tfgkCarlosU17Y===
static const Double_tfgkCarlosU17Z===
static const Double_tfgkCarlosU17posX===
static const Double_tfgkCarlosU17posZ===
static const Double_tfgkCarlosU1Xchip size in X
static const Double_tfgkCarlosU1Ychip size in Y
static const Double_tfgkCarlosU1Zchip size in Z
static const Double_tfgkCarlosU1posXposition in X
static const Double_tfgkCarlosU1posZposition in Z
static const Double_tfgkCarlosU2Xchip size in X
static const Double_tfgkCarlosU2Ychip size in Y
static const Double_tfgkCarlosU2Zchip size in Z
static const Double_tfgkCarlosU2posXposition in X
static const Double_tfgkCarlosU2posZposition in Z
static const Double_tfgkCarlosU35Xsame convention
static const Double_tfgkCarlosU35Y===
static const Double_tfgkCarlosU35Z===
static const Double_tfgkCarlosU35posX===
static const Double_tfgkCarlosU35posZ===
static const Double_tfgkCarlosU36Xsame convention
static const Double_tfgkCarlosU36Y===
static const Double_tfgkCarlosU36Z===
static const Double_tfgkCarlosU36posX===
static const Double_tfgkCarlosU36posZ===
static const Double_tfgkCarlosU3Xsame convention
static const Double_tfgkCarlosU3Y===
static const Double_tfgkCarlosU3Z===
static const Double_tfgkCarlosU3posX===
static const Double_tfgkCarlosU3posZ===
static const Double_tfgkCarlosU4posXsame convention
static const Double_tfgkCarlosU4posZ===
static const Double_tfgkConeSDDr1define SDD cone slope and pos
static const Double_tfgkConeSDDr2define SDD cone slope and pos
static const Double_tfgkConeSDDz1define SDD cone slope and pos
static const Double_tfgkConeSDDz2define SDD cone slope and pos
static const Double_tfgkConnectorCoolTubeL1===
static const Double_tfgkConnectorCoolTubeL2===
static const Double_tfgkConnectorCoolTubeL3===
static const Double_tfgkConnectorCoolTubeR1value to be checked
static const Double_tfgkConnectorCoolTubeR2===
static const Double_tfgkConnectorCoolTubeR3===
static const Double_tfgkConnectorCoolTubeRmininternal radius
static const Double_tfgkCoolPipeInnerDiamWater cooling
static const Double_tfgkCoolPipeLay3Lenvalue to be checked
static const Double_tfgkCoolPipeLay4Len===
static const Double_tfgkCoolPipeOuterDiampipe
static const Double_tfgkCoolPipeSuppAngle===
static const Double_tfgkCoolPipeSuppAxeDist===
static const Double_tfgkCoolPipeSuppFulWidthladder
static const Double_tfgkCoolPipeSuppHeight===
static const Double_tfgkCoolPipeSuppHoleDiamon carbon fiber
static const Double_tfgkCoolPipeSuppMaxLength===
static const Double_tfgkCoolPipeSuppSlitL===
static const Double_tfgkCoolPipeSuppTongW===
static const Double_tfgkCoolPipeSuppWidthExtParameters for
static const Double_tfgkCoolPipeSuppWidthIncooling pipes
static const Double_tfgkDigitCablAlThickcables
static const Double_tfgkDigitCablPolyThick===
static const Double_tfgkDigitCablWidthDigital
static const Double_tfgkDistEndLaddCardsLadddist. between U cooling tube and ladder
static const Double_tfgkEndLadPipeArmBoxDXshift in X of the arms from the axis
static const Double_tfgkEndLadPipeArmBoxDYshift in Y of the arms from the axis
static const Double_tfgkEndLadPipeArmXthe tube
static const Double_tfgkEndLadPipeArmYX, Y : size in the correxponding axis
static const Double_tfgkEndLadPipeArmZLay3the arms of the U cooling tube
static const Double_tfgkEndLadPipeArmZLay4(rectangular part surrounding the)
static const Double_tfgkEndLadPipeArmZposposition with respect to tube
static const Double_tfgkEndLadPipeInnerDiamInnerDiam
static const Double_tfgkEndLadPipeOuterDiamOuterDiam
static const Double_tfgkEndLadPipeRadiusradius
static const Double_tfgkEndLadPipeUlengthLay3length in Z of the U cooling tube
static const Double_tfgkEndLadPipeUlengthLay4length in Z of the U cooling tube
static const Double_tfgkEndLadPipeUwidthwidth
static const Double_tfgkEndLaddCardsShortRadiusLay3ref radius of end ladder cards
static const Double_tfgkEndLaddCardsShortRadiusLay4ref radius of end ladder cards
static const Double_tfgkEndLadderEarthCableRradius of the earth cable on End Ladders
static const Double_tfgkGlassDXOnSensorPosition of glass
static const Double_tfgkGlassDZOnSensoron sensor
static const Double_tfgkHVCardCapa1PosXposition on the card
static const Double_tfgkHVCardCapa1PosYposition on the card
static const Double_tfgkHVCardCapa1Xsize in X of the capa 1
static const Double_tfgkHVCardCapa1Yend...
static const Double_tfgkHVCardCapa1Ymidsize of the middle part
static const Double_tfgkHVCardCapa1Zsize in Z
static const Double_tfgkHVCardCapa2PosX...
static const Double_tfgkHVCardCapa2PosYlove me true
static const Double_tfgkHVCardCapa2Xidem for second type capa
static const Double_tfgkHVCardCapa2Yendtender,
static const Double_tfgkHVCardCapa2Ymid...
static const Double_tfgkHVCardCapa2Zlove me
static const Double_tfgkHVCardCapa3PosX1this capa is placed
static const Double_tfgkHVCardCapa3PosX2in several positions
static const Double_tfgkHVCardCapa3PosX3...
static const Double_tfgkHVCardCapa3PosX4===
static const Double_tfgkHVCardCapa3PosX5===
static const Double_tfgkHVCardCapa3PosY1===
static const Double_tfgkHVCardCapa3PosY2===
static const Double_tfgkHVCardCapa3PosY3===
static const Double_tfgkHVCardCapa3Xend===
static const Double_tfgkHVCardCapa3Xmididem for third type capa
static const Double_tfgkHVCardCapa3Y===
static const Double_tfgkHVCardCapa3Z===
static const Double_tfgkHVCardCeramXsize in X of the ceramic card
static const Double_tfgkHVCardCeramYsize in Y
static const Double_tfgkHVCardCeramZsize in Z
static const Double_tfgkHVCardCool1Xcooling
static const Double_tfgkHVCardCool1Ypieces for
static const Double_tfgkHVCardCool1Zheat exchange
static const Double_tfgkHVCardCool2Xwith
static const Double_tfgkHVCardCool2Ycooling U tube
static const Double_tfgkHVCardCool2Z===
static const Double_tfgkHVCardCool3X===
static const Double_tfgkHVCardCool3Y===
static const Double_tfgkHVCardCool3Z===
static const Double_tfgkHVCardCoolDY===
static const Double_tfgkHVguideDX===
static const Double_tfgkHVguideSuppFullZ===
static const Double_tfgkHVguideX1===
static const Double_tfgkHVguideY1===
static const Double_tfgkHVguideZ1===
static const Double_tfgkHVguideZ2===
static const Double_tfgkHybAlCCThick===
static const Double_tfgkHybAlThick===
static const Double_tfgkHybAmbraDXX dimension of Ambra
static const Double_tfgkHybCC2SensorAng===
static const Double_tfgkHybCC2SensorLen===
static const Double_tfgkHybCC2SensorWid===
static const Double_tfgkHybChipThick===
static const Double_tfgkHybChipsDZZ dimension of chips
static const Double_tfgkHybFLUpperAlDZ===
static const Double_tfgkHybFLUpperAldx===
static const Double_tfgkHybFLUpperLength===
static const Double_tfgkHybFLUpperWidthbFLUpper : upper flex
static const Double_tfgkHybFLlowAmbXAmbra center X pos
static const Double_tfgkHybFLlowChipZ1===
static const Double_tfgkHybFLlowChipZ2centers
static const Double_tfgkHybFLlowChipZ3in z of the chip
static const Double_tfgkHybFLlowChipZ4Z1 to Z4 : position
static const Double_tfgkHybFLlowHoleAmbDX===
static const Double_tfgkHybFLlowHoleDZFLlow : low flex
static const Double_tfgkHybFLlowHolePasDX===
static const Double_tfgkHybFLlowPasXPascal center X pos
static const Double_tfgkHybGlueAgThick===
static const Double_tfgkHybGlueLowThick===
static const Double_tfgkHybGlueScrnThick===
static const Double_tfgkHybGlueUpThick===
static const Double_tfgkHybPascalDXX dimension of Pascal
static const Double_tfgkHybRndHoleRad===
static const Double_tfgkHybRndHoleX===
static const Double_tfgkHybRndHoleZ===
static const Double_tfgkHybSMDendLend SMD length
static const Double_tfgkHybSMDendWend SMD witdh
static const Double_tfgkHybSMDheightSMD height
static const Double_tfgkHybSMDmiddleLSMD length
static const Double_tfgkHybSMDmiddleWSMD width
static const Double_tfgkHybSMDposX[25]X pos. of SMD
static const Double_tfgkHybSMDposZ[25]Z pos. of SMD
static const Double_tfgkHybUnderNiThick===
static const Double_tfgkHybUpCCThick===
static const Double_tfgkHybUpThick===
static const Double_tfgkHybridAlFoilSideSide length of Al foil on hybrid side
static const Double_tfgkHybridAlFoilThickThickness of Al foil on hybrid side
static const Double_tfgkHybridAlFoilWideWidth of Al foil on hybrid side
static const Double_tfgkHybridAngleHybrid on ladder in phi
static const Double_tfgkHybridLengthHybrid parameters :
static const Double_tfgkHybridThBridgeThickThicknesses :
static const Double_tfgkHybridWidth===
static const Double_tfgkLVChip0PosXPosition with respect to the card
static const Double_tfgkLVChip0PosYPosition with respect to the card
static const Double_tfgkLVChip0SiZSi layer thickness
static const Double_tfgkLVChip0Xchip #0
static const Double_tfgkLVChip0Y...
static const Double_tfgkLVChip0Zthickness without si layer
static const Double_tfgkLVChip1PosX==
static const Double_tfgkLVChip1PosY==
static const Double_tfgkLVChip1SiZchip 0
static const Double_tfgkLVChip1Xsame
static const Double_tfgkLVChip1Yconventions
static const Double_tfgkLVChip1Zas
static const Double_tfgkLVChip2PosX==
static const Double_tfgkLVChip2PosY==
static const Double_tfgkLVChip2SiZchip 0
static const Double_tfgkLVChip2Xsame
static const Double_tfgkLVChip2Yconventions
static const Double_tfgkLVChip2Zas
static const Double_tfgkLVChip3PosX==
static const Double_tfgkLVChip3PosY==
static const Double_tfgkLVChip3SiZchip 0
static const Double_tfgkLVChip3Xsame
static const Double_tfgkLVChip3Yconventions
static const Double_tfgkLVChip3Zas
static const Double_tfgkLVcardCuZCu thickness
static const Double_tfgkLVcardXsize of the card itself in X
static const Double_tfgkLVcardYsize of the card itself in Y
static const Double_tfgkLVcardZsize of the card itself in Z
static const Double_tfgkLVcoolPosY==
static const Double_tfgkLVcoolX1pieces of alCu12
static const Double_tfgkLVcoolX2X,Y,Z are
static const Double_tfgkLVcoolX3==
static const Double_tfgkLVcoolY1for heat exchange
static const Double_tfgkLVcoolY2dimensions
static const Double_tfgkLVcoolY3==
static const Double_tfgkLVcoolZ1with the cooling tube
static const Double_tfgkLVcoolZ2of the pieces
static const Double_tfgkLadBox1Xsize in X
static const Double_tfgkLadFingerPrintBordersize in X
static const Double_tfgkLadFingerPrintXsize in X
static const Double_tfgkLadFingerPrintYsize in Y
static const Double_tfgkLadFootMiddleYthickness in the middle part
static const Double_tfgkLadFootXLength of ladder foot
static const Double_tfgkLadFootYthickness
static const Double_tfgkLadFootZwidth
static const Double_tfgkLadWaferSepladder-sensor dist.
static const Double_tfgkLadderBeamRadiuscarbon fiber beam radius
static const Double_tfgkLadderHathe V side shape
static const Double_tfgkLadderHbfiber ladder
static const Double_tfgkLadderHeightincluding bottom beam
static const Double_tfgkLadderLaparameters defining
static const Double_tfgkLadderLbof the carbon
static const Double_tfgkLadderSegBoxDHTo include hybrids in box
static const Double_tfgkLadderSegBoxDWTo include hybrids in box
static const Double_tfgkLadderWidthcarbon fiber structure
static const Double_tfgkLadderl============
static const Double_tfgkLay3CoolPipeSuppHHeights of water
static const Double_tfgkLay3DetLongRadiusradius from beam axis
static const Double_tfgkLay3DetShortRadiusradius from beam axis
static const Double_tfgkLay3LaddTopCornerEndEnds of ladder 3
static const Double_tfgkLay3LadderLengthtot. length of ladder
static const Double_tfgkLay3Lengthlength of layer 3 tube
static const Int_tfgkLay3Ndet6
static const Int_tfgkLay3Nladd14
static const Double_tfgkLay3Rmaxmax. radius of tube
static const Double_tfgkLay3Rminmin. radius of tube
static const Double_tfgkLay3ZPlusEndLength===
static const Double_tfgkLay4CoolPipeSuppHpipes on ladders
static const Double_tfgkLay4DetLongRadiusradius from beam axis
static const Double_tfgkLay4DetShortRadiusradius from beam axis
static const Double_tfgkLay4LaddTopCornerEndEnds of ladder 3
static const Double_tfgkLay4LadderLengthtot. length of ladder
static const Double_tfgkLay4Lengthlength of layer 4 tube
static const Int_tfgkLay4Ndet8
static const Int_tfgkLay4Nladd22
static const Double_tfgkLay4Rmaxmax. radius of tube
static const Double_tfgkLay4Rminmin. radius of tube
static const Double_tfgkLay4ZPlusEndLength===
static const Double_tfgkLittleLVScrewHeadR===
static const Double_tfgkLittleScrewHeadHValue to be checked
static const Double_tfgkLittleScrewHeadRscrews fixing boards
static const Double_tfgkLittleScrewR===
static const Double_tfgkLongHVcableAlThickVoltage
static const Double_tfgkLongHVcablePolyThickLong High
static const Double_tfgkLongHVcableSeparationcables
static const Int_tfgkNHybSMDNumber of SMD
static const Int_tfgkNladdSegCommonVolNumber of vol.
static const Double_tfgkPinDXminOnSensor===
static const Double_tfgkPinDYOnSensor===
static const Double_tfgkPinPinDDXOnSensor===
static const Double_tfgkPinRpins radius
static const Double_tfgkPinSuppConeAngleladder
static const Double_tfgkPinSuppHeight===
static const Double_tfgkPinSuppLengthsupports on
static const Double_tfgkPinSuppRmaxParameters for pin
static const Double_tfgkPinSuppThicknesscarbon fiber
static const Double_tfgkPinSuppWidth===
static const Double_tfgkRadiusAminBTB===
static const Double_tfgkRadiusBminBTB===
static const Double_tfgkRubyCageAxisShiftshift in X
static const Double_tfgkRubyCageHoleXsize in X
static const Double_tfgkRubyCageHoleYsize in Y
static const Double_tfgkRubyCageHoleZsize in Z
static const Double_tfgkRubyDXruby dx with respect to the middle (to ladder z axis)
static const Double_tfgkRubyHoleDiamguess what
static const Double_tfgkRubyScrewShiftToCenterYscrew placement
static const Double_tfgkRubyZladd3Z of ruby, ladder 3
static const Double_tfgkRubyZladd4Z of ruby, ladder 4
static const Double_tfgkSDDCableDZintlength of intermediate cylinder
static const Double_tfgkSDDCableR1??? // part 1 of "cable cone"
static const Double_tfgkSDDCableR2??? // part 1/2 of "cable cone"
static const Double_tfgkSDDCableR3??? // part 2 of "cable cone"
static const Double_tfgkSDDCableR5third part of "cable cone"
static const Double_tfgkSDDCableZ5third part of "cable cone"
static const char*fgkSDDsensitiveVolName3sens. vol. name for lay. 3
static const char*fgkSDDsensitiveVolName4sens. vol. name for lay. 4
static const Double_tfgkScrewM4diamM4 screw standard diameter
static const Double_tfgkSectionCoolPolyuELarea of cooling tubes on End Ladders
static const Double_tfgkSectionCoolWaterELarea of cooling water on End Ladders
static const Double_tfgkSectionCuPerModarea of copper per mod.
static const Double_tfgkSectionGlassPerModarea of optical fiber per mod.
static const Double_tfgkSectionPlastPerModarea of plast per mod.
static const Double_tfgkSegmentLengthlength of 1 ladder seg.
static const Double_tfgkSensorGlassLXdimensions of glass
static const Double_tfgkSensorGlassLYglued)
static const Double_tfgkSensorGlassLZ(on which pins are
static const Double_tfgkShiftLittleScrewLV===
static const Double_tfgkTransitHVAlThickTransition
static const Double_tfgkTransitHVBondingLZ===
static const Double_tfgkTransitHVHeadLXcables
static const Double_tfgkTransitHVHeadLZ(on sensor)
static const Double_tfgkTransitHVPolyThickHigh Voltage
static const Double_tfgkTransitHVsideLZ===
static const Double_tfgkTransitHVsideLeftZ===
static const Double_tfgkTransitHVsideRightZ===
static const Double_tfgkTransitHVtailLength===
static const Double_tfgkTransitHVtailWidth===
static const Double_tfgkTransitHVtailXpos===
static const Double_tfgkWaHVcableAlThickWrap-around
static const Double_tfgkWaHVcableDW===
static const Double_tfgkWaHVcableLengthcables
static const Double_tfgkWaHVcablePolyThickHigh Voltage
static const Double_tfgkWaHVcableWitdh(on sensor)
static const Double_tfgkWaferLengthlength (Z)
static const Double_tfgkWaferLengthSenssens. volume length
static const Double_tfgkWaferThickSenssensitive volume thich
static const Double_tfgkWaferThicknesssensor thickness (Y)
static const Double_tfgkWaferWidthwidth (X)
static const Double_tfgkWaferWidthSenssens. volume width
static const Double_tfgkmu1 micron, or more for debugging

Class Charts

Inheritance Chart:
TObject
AliITSv11Geometry
AliITSv11GeometrySDD

Function documentation

AliITSv11GeometrySDD()
 Standard constructor

AliITSv11GeometrySDD(Int_t debug)
 Constructor setting debugging level

AliITSv11GeometrySDD(const AliITSv11GeometrySDD& source)
     Copy Constructor
 do only a "shallow copy" ...
~AliITSv11GeometrySDD()
 Look like a destructor
 Smell like a destructor
 And actually is the destructor
void SetParameters()
 Define display colors and the non constant geometry parameters

TGeoMedium* GetMedium(const char* mediumName)
 Called to get a medium, checks that it exists.
 If not, prints an error and returns 0

Int_t GetLay3NLadders() const
 Get the actual number of ladder in layer 3
Int_t GetLay4NLadders() const
 Get the actual number of ladder in layer 4
void CreateBasicObjects()
 Create basics objets which will be assembled together
 in Layer3 and Layer4 functions

void CheckOverlaps(Double_t precision = 0.01)
 a debugging function for checking some possible overlaps

void AddTranslationToCombiTrans(TGeoCombiTrans* ct, Double_t dx = 0, Double_t dy = 0, Double_t dz = 0) const
 Add a dx,dy,dz translation to the initial TGeoCombiTrans
void ShowOnePiece(TGeoVolume* Moth)
 for code developpment and debugging purposes
void Layer3(TGeoVolume* moth)
 Insert the layer 3 in the mother volume. This is a virtual volume
 containing ladders of layer 3 and the supporting rings

void ForwardLayer3(TGeoVolume* moth)
 Insert the end-ladder of layer 3 in the mother volume.
 (cooling, Carlos, LV, HV ...)

void Layer4(TGeoVolume* moth)
 Insert the layer 4 in the mother volume. This is a virtual volume
 containing ladders of layer 4 and the supporting rings

void ForwardLayer4(TGeoVolume* moth)
 Insert the end-ladder of layer 4 in the mother volume.
 (cooling, Carlos, LV, HV ...)

TGeoVolumeAssembly * CreateLadder(Int_t iLay)
 return an assembly volume containing the CF ladder

TGeoArb8 * CreateLadderSide(const char* name, Double_t dz, Double_t angle, Double_t xSign, Double_t L, Double_t H, Double_t l)
 Create one half of the V shape corner of CF ladder
TGeoVolume* CreateHybrid(Int_t iLRSide)
 return a box containing the front-end hybrid

TGeoVolume* CreateLadderSegment(Int_t iLay, Int_t iSeg)
 Return a TGeoVolume* containing a segment of a ladder.

TGeoVolume* CreatePinSupport()
 Create a pine support and its pine
 axis of rotation is the cone axis, center in its middle

TGeoVolume* CreateCoolPipeSupportL()
 Create half of the cooling pipe support (ALR-0752/3)

TGeoVolume* CreateCoolPipeSupportR()
Create half of the cooling pipe support (ALR-0752/3)

TGeoVolume* CreateBaseThermalBridge()
 based on ALR 0752/8

TGeoVolumeAssembly* CreateEndLadder(Int_t iLay)
 Return an assembly containing a end of a CF ladder.

TGeoVolumeAssembly* CreateLadderFoot()
TGeoVolumeAssembly* CreateCarlosCard(Int_t iLay)
 return an assembly containing the CARLOS end-ladder board
 and the heat bridge

Int_t CreateLVCard()
 Creates the assemblies containing the LV cards (left and right)

TGeoVolumeAssembly* CreateHVCard()
 return an assembly containing the HV card

TGeoVolumeAssembly* CreateEndLadderCards(Int_t iLay)
 return an assembly containing the LV, HV and Carlos cards of one ladder
 and their cooling system

TGeoVolume* CreateEndLadderCardsV(Int_t iLay)
 return an Pcon containing the LV, HV and Carlos cards of one ladder
 and their cooling system
 This is the code actually used for the end ladder cards

TGeoVolumeAssembly* CreateSupportRing()
 return an assembly of the support rings, attaching the ladders to the cone

void CreateSDDsensor()
 return a box containing the SDD sensor

TGeoVolumeAssembly * CreateDetectorsAssembly(Int_t iLay)
 return a box volume containing the detectors

TGeoVolumeAssembly * CreateDetectorsAssemblyLadd2()
 return a box volume containing the detectors
 Special case for Layer 3 Ladder 2 which is rotated (cannot simply
 rotate the standard volume, because the module numbering would be wrong)
 M.Sitta 25 Nov 2009

TGeoPcon* CreateConeConstSection(Double_t r1max, Double_t z1, Double_t r2max, Double_t z2, Double_t section, Int_t nDiv = 1)
 Creates a cone along z where the section is approximately constant
 with z. This is for simulation of cables, because a cone with a constant
 radius difference would show a quantity of matter increasing with z...
 The max radius of the created Pcon is evolving linearly, the min radius
 is calculated at several steps (nDiv).
 z2 > z1 (required by the Pcon)
Double_t GetConeZ(Double_t r, Double_t refR1, Double_t refR2, Double_t refZ1, Double_t refZ2) const
 just a helping function
Int_t CreateAndInsetConeCablePart(TGeoVolume* mother, Double_t angle, Int_t nLay3, Int_t nLay4, Double_t r1, Double_t z1, Double_t r2, Double_t z2)
 Create some cables portions from SDD modules grouped
 and attached at the border of the SSD cone
void SDDCables(TGeoVolume* moth)
 Creates and inserts the SDD cables running on SDD and SSD cones

 Input:
         moth : the TGeoVolume owing the volume structure
 Output:

 Created:         ???       Ludovic Gaudichet
 Updated:      15 Mar 2008  Mario Sitta
 Updated:      14 Apr 2008  Mario Sitta            Overlap fixes
 Updated:      09 May 2008  Mario Sitta            SSD overlap fixes

AliITSv11GeometrySDD& operator=(const AliITSv11GeometrySDD& source)
Int_t GetCurrentLayLaddDet(Int_t& lay, Int_t& ladd, Int_t& det) const
void AddHybrids(bool b)
 Functions for coding, testing, debugging
void AddSensors(bool b)
void AddHVcables(bool b)
void AddCables(bool b)
{fAddCables = b;}
void AddCoolingSyst(bool b)
void AddOnlyLay3Ladder(Int_t min, Int_t max)
void AddOnlyLay4Ladder(Int_t min, Int_t max)
TGeoVolume* GetMotherVolume() const
{ return fMotherVol;}
const char* GetSenstiveVolumeName3() const
const char* GetSenstiveVolumeName4() const
TGeoCombiTrans* CreateCombiTrans(const char* name, Double_t dy, Double_t dz, Double_t dphi, Bool_t planeSym = kFALSE)
 Create a TGeoCombiTrans: general rotation in phi and (dy,dz) translation