]>
Commit | Line | Data |
---|---|---|
ca83c889 | 1 | #ifndef ALITOFV6T0_H |
2 | #define ALITOFV6T0_H | |
dfef1a15 | 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() {}; | |
dfef1a15 | 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 | virtual void DrawModule() const; | |
34 | virtual void DrawDetectorModules() const; | |
35 | virtual void DrawDetectorStrips() const; | |
36 | ||
37 | protected: | |
38 | ||
ca83c889 | 39 | void MaterialMixer(Float_t * p, const Float_t * const a, |
40 | const Float_t * const m, Int_t n) const; | |
dfef1a15 | 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) | |
fbd27255 | 99 | /* |
57df6e96 | 100 | static const Float_t fgkLengthInCeModBorder; // height of border |
101 | // between the central | |
102 | // and intermediate | |
103 | // modules (cm) | |
fbd27255 | 104 | */ |
105 | static const Float_t fgkLengthInCeModBorderU; // height of upper border | |
106 | // between the central | |
107 | // and intermediate | |
108 | // modules (cm) | |
109 | static const Float_t fgkLengthInCeModBorderD; // height of lower border | |
110 | // between the central | |
111 | // and intermediate | |
112 | // modules (cm) | |
57df6e96 | 113 | static const Float_t fgkLengthExInModBorder; // height of border |
114 | // between the | |
115 | // intermediate and | |
116 | // external modules | |
117 | // (cm) | |
118 | static const Float_t fgkModuleCoverThickness; // thickness of cover | |
119 | // modules zone (cm) | |
120 | static const Float_t fgkFEAwidth1; // mother volume width of each of | |
121 | // two external FEA in a | |
122 | // supermodule (cm) | |
123 | static const Float_t fgkFEAwidth2; // mother volume width of two | |
124 | // internal FEA in a supermodule | |
125 | // (cm) | |
126 | static const Float_t fgkSawThickness; // services alluminium wall | |
127 | // thickness (cm) | |
128 | static const Float_t fgkCBLw; // cables&tubes block width (cm) | |
129 | static const Float_t fgkCBLh1; // min. height of cables&tubes block | |
130 | // (cm) | |
131 | static const Float_t fgkCBLh2; // max. height of cables&tubes block | |
132 | // (cm) | |
5e6c8f3d | 133 | static const Float_t fgkBetweenLandMask; // distance between the L |
134 | // element and the Nino | |
135 | // mask (cm) | |
136 | static const Float_t fgkAl1parameters[3]; // (cm) | |
137 | static const Float_t fgkAl2parameters[3]; // (cm) | |
138 | static const Float_t fgkAl3parameters[3]; // (cm) | |
139 | static const Float_t fgkRoof1parameters[3]; // (cm) | |
140 | static const Float_t fgkRoof2parameters[3]; // (cm) | |
141 | static const Float_t fgkFEAparameters[3]; // (cm) | |
142 | //static const Float_t fgkFCAparameters[3]; // (cm) | |
143 | static const Float_t fgkBar[3]; // (cm) | |
144 | static const Float_t fgkBar1[3]; // (cm) | |
145 | static const Float_t fgkBar2[3]; // (cm) | |
146 | static const Float_t fgkBarS[3]; // (cm) | |
147 | static const Float_t fgkBarS1[3]; // (cm) | |
148 | static const Float_t fgkBarS2[3]; // (cm) | |
57df6e96 | 149 | |
ca83c889 | 150 | ClassDef(AliTOFv6T0,1) //Time Of Flight version 6 |
dfef1a15 | 151 | }; |
152 | ||
ca83c889 | 153 | #endif /* ALITOFV6T0_H */ |