]>
Commit | Line | Data |
---|---|---|
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 CreateGeometry(); | |
25 | virtual void CreateMaterials(); | |
26 | virtual void Init(); | |
27 | virtual Int_t IsVersion() const {return 8;} | |
28 | virtual void AddAlignableVolumes() const; | |
29 | virtual void TOFpc(Float_t xtof, Float_t ytof, Float_t zlenA); | |
30 | virtual void TOFpc(Float_t, Float_t, Float_t, Float_t) {}; | |
31 | virtual void TOFpc(Float_t, Float_t, Float_t, Float_t, Float_t, Float_t) {}; | |
32 | virtual void StepManager(); | |
33 | ||
34 | protected: | |
35 | ||
36 | void MaterialMixer(Float_t * p, const Float_t * const a, | |
37 | const Float_t * const m, Int_t n) const; | |
38 | ||
39 | private: | |
40 | ||
41 | void CreateModules(Float_t xtof, Float_t ytof, Float_t zlenA, | |
42 | Float_t xFLT, Float_t yFLT, Float_t zFLTA) const; | |
43 | void MakeStripsInModules(Float_t ytof, Float_t zlenA) const; | |
44 | void CreateModuleCovers(Float_t xtof, Float_t zlenA) const; | |
45 | void CreateBackZone(Float_t xtof, Float_t ytof, Float_t zlenA) const; | |
46 | void MakeFrontEndElectronics(Float_t xtof) const; | |
47 | void MakeFEACooling(Float_t xtof) const; | |
48 | void MakeNinoMask(Float_t xtof) const; | |
49 | void MakeSuperModuleCooling(Float_t xtof, Float_t ytof, Float_t zlenA) const; | |
50 | void MakeSuperModuleServices(Float_t xtof, Float_t ytof, Float_t zlenA) const; | |
51 | void MakeModulesInBTOFvolumes(Float_t ytof, Float_t zlenA) const; | |
52 | void MakeCoversInBTOFvolumes() const; | |
53 | void MakeBackInBTOFvolumes(Float_t ytof) const; | |
54 | void MakeReadoutCrates(Float_t ytof) const; | |
55 | ||
56 | Int_t fIdFTOA; // FTOA volume identifier (outer plate A) | |
57 | Int_t fIdFTOB; // FTOB volume identifier (outer plate B) | |
58 | Int_t fIdFTOC; // FTOC volume identifier (outer plate C) | |
59 | Int_t fIdFLTA; // FLTA volume identifier (inner plate A) | |
60 | Int_t fIdFLTB; // FLTB volume identifier (inner plate B) | |
61 | Int_t fIdFLTC; // FLTC volume identifier (inner plate C) | |
62 | ||
63 | //private: | |
64 | ||
65 | static const Bool_t fgkFEAwithMasks[18]; // Selecting TOF sectors containing FEA cooling masks | |
66 | ||
67 | static const Float_t fgkModuleWallThickness; // wall thickness (cm) | |
68 | static const Float_t fgkInterCentrModBorder1; // 1st distance of | |
69 | // border between | |
70 | // central and | |
71 | // intermediate | |
72 | // modules respect to | |
73 | // the central module | |
74 | // centre (cm) | |
75 | static const Float_t fgkInterCentrModBorder2; // 2nd distance of | |
76 | // border between the | |
77 | // central and | |
78 | // intermediate | |
79 | // modules respect to | |
80 | // the central module | |
81 | // centre (cm) | |
82 | static const Float_t fgkExterInterModBorder1; // 1st distance of | |
83 | // border between the | |
84 | // intermediate and | |
85 | // external modules | |
86 | // respect to the | |
87 | // central module | |
88 | // centre (cm) | |
89 | static const Float_t fgkExterInterModBorder2; // 2nd distance of | |
90 | // border between the | |
91 | // intermediate and | |
92 | // external | |
93 | // modules respect to | |
94 | // the central module | |
95 | // centre (cm) | |
96 | /* | |
97 | static const Float_t fgkLengthInCeModBorder; // height of border | |
98 | // between the central | |
99 | // and intermediate | |
100 | // modules (cm) | |
101 | */ | |
102 | static const Float_t fgkLengthInCeModBorderU; // height of upper border | |
103 | // between the central | |
104 | // and intermediate | |
105 | // modules (cm) | |
106 | static const Float_t fgkLengthInCeModBorderD; // height of lower border | |
107 | // between the central | |
108 | // and intermediate | |
109 | // modules (cm) | |
110 | static const Float_t fgkLengthExInModBorder; // height of border | |
111 | // between the | |
112 | // intermediate and | |
113 | // external modules | |
114 | // (cm) | |
115 | static const Float_t fgkModuleCoverThickness; // thickness of cover | |
116 | // modules zone (cm) | |
117 | static const Float_t fgkFEAwidth1; // mother volume width of each of | |
118 | // two external FEA in a | |
119 | // supermodule (cm) | |
120 | static const Float_t fgkFEAwidth2; // mother volume width of two | |
121 | // internal FEA in a supermodule | |
122 | // (cm) | |
123 | static const Float_t fgkSawThickness; // services alluminium wall | |
124 | // thickness (cm) | |
125 | static const Float_t fgkCBLw; // cables&tubes block width (cm) | |
126 | static const Float_t fgkCBLh1; // min. height of cables&tubes block | |
127 | // (cm) | |
128 | static const Float_t fgkCBLh2; // max. height of cables&tubes block | |
129 | // (cm) | |
130 | static const Float_t fgkBetweenLandMask; // distance between the L | |
131 | // element and the Nino | |
132 | // mask (cm) | |
133 | static const Float_t fgkAl1parameters[3]; // (cm) | |
134 | static const Float_t fgkAl2parameters[3]; // (cm) | |
135 | static const Float_t fgkAl3parameters[3]; // (cm) | |
136 | static const Float_t fgkRoof1parameters[3]; // (cm) | |
137 | static const Float_t fgkRoof2parameters[3]; // (cm) | |
138 | static const Float_t fgkFEAparameters[3]; // (cm) | |
139 | //static const Float_t fgkFCAparameters[3]; // (cm) | |
140 | static const Float_t fgkBar[3]; // (cm) | |
141 | static const Float_t fgkBar1[3]; // (cm) | |
142 | static const Float_t fgkBar2[3]; // (cm) | |
143 | static const Float_t fgkBarS[3]; // (cm) | |
144 | static const Float_t fgkBarS1[3]; // (cm) | |
145 | static const Float_t fgkBarS2[3]; // (cm) | |
146 | ||
147 | ClassDef(AliTOFv6T0,1) //Time Of Flight version 6 | |
148 | }; | |
149 | ||
150 | #endif /* ALITOFV6T0_H */ |