3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //_________________________________________________________________________//
8 // Implementation version v6 of TOF Manager class //
9 // FULL COVERAGE VERSION + OPTION FOR PHOS HOLES //
11 // -- Authors: G. Cara Romeo, A. De Caro //
13 //_________________________________________________________________________//
18 class AliTOFv6T0 : public AliTOF {
22 AliTOFv6T0(const char *name, const char *title);
23 virtual ~AliTOFv6T0() {};
24 virtual void BuildGeometry();
25 virtual void CreateGeometry();
26 virtual void CreateMaterials();
28 virtual Int_t IsVersion() const {return 8;}
29 virtual void AddAlignableVolumes() const;
30 virtual void TOFpc(Float_t xtof, Float_t ytof, Float_t zlenA);
31 virtual void TOFpc(Float_t, Float_t, Float_t, Float_t) {};
32 virtual void TOFpc(Float_t, Float_t, Float_t, Float_t, Float_t, Float_t) {};
33 virtual void StepManager();
34 virtual void DrawModule() const;
35 virtual void DrawDetectorModules() const;
36 virtual void DrawDetectorStrips() const;
40 void MaterialMixer(Float_t* p,Float_t* a,Float_t* m,Int_t n) const;
44 void CreateModules(Float_t xtof, Float_t ytof, Float_t zlenA,
45 Float_t xFLT, Float_t yFLT, Float_t zFLTA) const;
46 void MakeStripsInModules(Float_t ytof, Float_t zlenA) const;
47 void CreateModuleCovers(Float_t xtof, Float_t zlenA) const;
48 void CreateBackZone(Float_t xtof, Float_t ytof, Float_t zlenA) const;
49 void MakeFrontEndElectronics(Float_t xtof) const;
50 void MakeFEACooling(Float_t xtof) const;
51 void MakeNinoMask(Float_t xtof) const;
52 void MakeSuperModuleCooling(Float_t xtof, Float_t ytof, Float_t zlenA) const;
53 void MakeSuperModuleServices(Float_t xtof, Float_t ytof, Float_t zlenA) const;
54 void MakeModulesInBTOFvolumes(Float_t ytof, Float_t zlenA) const;
55 void MakeCoversInBTOFvolumes() const;
56 void MakeBackInBTOFvolumes(Float_t ytof) const;
57 void MakeReadoutCrates(Float_t ytof) const;
59 Int_t fIdFTOA; // FTOA volume identifier (outer plate A)
60 Int_t fIdFTOB; // FTOB volume identifier (outer plate B)
61 Int_t fIdFTOC; // FTOC volume identifier (outer plate C)
62 Int_t fIdFLTA; // FLTA volume identifier (inner plate A)
63 Int_t fIdFLTB; // FLTB volume identifier (inner plate B)
64 Int_t fIdFLTC; // FLTC volume identifier (inner plate C)
68 static const Bool_t fgkFEAwithMasks[18]; // Selecting TOF sectors containing FEA cooling masks
70 static const Float_t fgkModuleWallThickness; // wall thickness (cm)
71 static const Float_t fgkInterCentrModBorder1; // 1st distance of
78 static const Float_t fgkInterCentrModBorder2; // 2nd distance of
85 static const Float_t fgkExterInterModBorder1; // 1st distance of
92 static const Float_t fgkExterInterModBorder2; // 2nd distance of
99 static const Float_t fgkLengthInCeModBorder; // height of border
100 // between the central
103 static const Float_t fgkLengthExInModBorder; // height of border
108 static const Float_t fgkModuleCoverThickness; // thickness of cover
110 static const Float_t fgkFEAwidth1; // mother volume width of each of
111 // two external FEA in a
113 static const Float_t fgkFEAwidth2; // mother volume width of two
114 // internal FEA in a supermodule
116 static const Float_t fgkSawThickness; // services alluminium wall
118 static const Float_t fgkCBLw; // cables&tubes block width (cm)
119 static const Float_t fgkCBLh1; // min. height of cables&tubes block
121 static const Float_t fgkCBLh2; // max. height of cables&tubes block
123 static const Float_t fgkBetweenLandMask; // distance between the L
124 // element and the Nino
126 static const Float_t fgkAl1parameters[3]; // (cm)
127 static const Float_t fgkAl2parameters[3]; // (cm)
128 static const Float_t fgkAl3parameters[3]; // (cm)
129 static const Float_t fgkRoof1parameters[3]; // (cm)
130 static const Float_t fgkRoof2parameters[3]; // (cm)
131 static const Float_t fgkFEAparameters[3]; // (cm)
132 //static const Float_t fgkFCAparameters[3]; // (cm)
133 static const Float_t fgkBar[3]; // (cm)
134 static const Float_t fgkBar1[3]; // (cm)
135 static const Float_t fgkBar2[3]; // (cm)
136 static const Float_t fgkBarS[3]; // (cm)
137 static const Float_t fgkBarS1[3]; // (cm)
138 static const Float_t fgkBarS2[3]; // (cm)
140 ClassDef(AliTOFv6T0,0) //Time Of Flight version 6
143 #endif /* ALITOFv6T0_H */