]>
Commit | Line | Data |
---|---|---|
dfef1a15 | 1 | #ifndef ALITOFv6T0_H |
2 | #define ALITOFv6T0_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //_________________________________________________________________________// | |
7 | // // | |
8 | // Implementation version v6 of TOF Manager class // | |
9 | // FULL COVERAGE VERSION + OPTION FOR PHOS HOLES // | |
10 | // // | |
11 | // -- Authors: G. Cara Romeo, A. De Caro // | |
12 | // // | |
13 | //_________________________________________________________________________// | |
14 | ||
15 | #include "AliTOF.h" | |
16 | ||
17 | ||
18 | class AliTOFv6T0 : public AliTOF { | |
19 | ||
20 | public: | |
21 | AliTOFv6T0(); | |
22 | AliTOFv6T0(const char *name, const char *title); | |
23 | virtual ~AliTOFv6T0() {}; | |
24 | virtual void BuildGeometry(); | |
25 | virtual void CreateGeometry(); | |
26 | virtual void CreateMaterials(); | |
27 | virtual void Init(); | |
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; | |
37 | ||
38 | protected: | |
39 | ||
40 | void MaterialMixer(Float_t* p,Float_t* a,Float_t* m,Int_t n) const; | |
41 | ||
42 | private: | |
57df6e96 | 43 | |
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; | |
5e6c8f3d | 49 | void MakeFrontEndElectronics(Float_t xtof) const; |
50 | void MakeFEACooling(Float_t xtof) const; | |
51 | void MakeNinoMask(Float_t xtof) const; | |
57df6e96 | 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; | |
58 | ||
dfef1a15 | 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) | |
5e6c8f3d | 65 | |
57df6e96 | 66 | //private: |
67 | ||
5e6c8f3d | 68 | static const Bool_t fgkFEAwithMasks[18]; // Selecting TOF sectors containing FEA cooling masks |
69 | ||
57df6e96 | 70 | static const Float_t fgkModuleWallThickness; // wall thickness (cm) |
71 | static const Float_t fgkInterCentrModBorder1; // 1st distance of | |
72 | // border between | |
73 | // central and | |
74 | // intermediate | |
75 | // modules respect to | |
76 | // the central module | |
77 | // centre (cm) | |
78 | static const Float_t fgkInterCentrModBorder2; // 2nd distance of | |
79 | // border between the | |
80 | // central and | |
81 | // intermediate | |
82 | // modules respect to | |
83 | // the central module | |
84 | // centre (cm) | |
85 | static const Float_t fgkExterInterModBorder1; // 1st distance of | |
86 | // border between the | |
87 | // intermediate and | |
88 | // external modules | |
89 | // respect to the | |
90 | // central module | |
91 | // centre (cm) | |
92 | static const Float_t fgkExterInterModBorder2; // 2nd distance of | |
93 | // border between the | |
94 | // intermediate and | |
95 | // external | |
96 | // modules respect to | |
97 | // the central module | |
98 | // centre (cm) | |
99 | static const Float_t fgkLengthInCeModBorder; // height of border | |
100 | // between the central | |
101 | // and intermediate | |
102 | // modules (cm) | |
103 | static const Float_t fgkLengthExInModBorder; // height of border | |
104 | // between the | |
105 | // intermediate and | |
106 | // external modules | |
107 | // (cm) | |
108 | static const Float_t fgkModuleCoverThickness; // thickness of cover | |
109 | // modules zone (cm) | |
110 | static const Float_t fgkFEAwidth1; // mother volume width of each of | |
111 | // two external FEA in a | |
112 | // supermodule (cm) | |
113 | static const Float_t fgkFEAwidth2; // mother volume width of two | |
114 | // internal FEA in a supermodule | |
115 | // (cm) | |
116 | static const Float_t fgkSawThickness; // services alluminium wall | |
117 | // thickness (cm) | |
118 | static const Float_t fgkCBLw; // cables&tubes block width (cm) | |
119 | static const Float_t fgkCBLh1; // min. height of cables&tubes block | |
120 | // (cm) | |
121 | static const Float_t fgkCBLh2; // max. height of cables&tubes block | |
122 | // (cm) | |
5e6c8f3d | 123 | static const Float_t fgkBetweenLandMask; // distance between the L |
124 | // element and the Nino | |
125 | // mask (cm) | |
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) | |
57df6e96 | 139 | |
dfef1a15 | 140 | ClassDef(AliTOFv6T0,0) //Time Of Flight version 6 |
141 | }; | |
142 | ||
143 | #endif /* ALITOFv6T0_H */ |