]>
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; | |
49 | void MakeFrontEndElectronics() const; | |
50 | void MakeFEACooling(Float_t xtof, Float_t ytof, Float_t zlenA) const; | |
51 | void MakeNinoMask(Float_t xtof, Float_t ytof, Float_t zlenA) 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; | |
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) | |
65 | Bool_t fTOFHoles; // Selecting Geometry with and w/o holes | |
66 | ||
57df6e96 | 67 | //private: |
68 | ||
69 | static const Float_t fgkModuleWallThickness; // wall thickness (cm) | |
70 | static const Float_t fgkInterCentrModBorder1; // 1st distance of | |
71 | // border between | |
72 | // central and | |
73 | // intermediate | |
74 | // modules respect to | |
75 | // the central module | |
76 | // centre (cm) | |
77 | static const Float_t fgkInterCentrModBorder2; // 2nd distance of | |
78 | // border between the | |
79 | // central and | |
80 | // intermediate | |
81 | // modules respect to | |
82 | // the central module | |
83 | // centre (cm) | |
84 | static const Float_t fgkExterInterModBorder1; // 1st distance of | |
85 | // border between the | |
86 | // intermediate and | |
87 | // external modules | |
88 | // respect to the | |
89 | // central module | |
90 | // centre (cm) | |
91 | static const Float_t fgkExterInterModBorder2; // 2nd distance of | |
92 | // border between the | |
93 | // intermediate and | |
94 | // external | |
95 | // modules respect to | |
96 | // the central module | |
97 | // centre (cm) | |
98 | static const Float_t fgkLengthInCeModBorder; // height of border | |
99 | // between the central | |
100 | // and intermediate | |
101 | // modules (cm) | |
102 | static const Float_t fgkLengthExInModBorder; // height of border | |
103 | // between the | |
104 | // intermediate and | |
105 | // external modules | |
106 | // (cm) | |
107 | static const Float_t fgkModuleCoverThickness; // thickness of cover | |
108 | // modules zone (cm) | |
109 | static const Float_t fgkFEAwidth1; // mother volume width of each of | |
110 | // two external FEA in a | |
111 | // supermodule (cm) | |
112 | static const Float_t fgkFEAwidth2; // mother volume width of two | |
113 | // internal FEA in a supermodule | |
114 | // (cm) | |
115 | static const Float_t fgkSawThickness; // services alluminium wall | |
116 | // thickness (cm) | |
117 | static const Float_t fgkCBLw; // cables&tubes block width (cm) | |
118 | static const Float_t fgkCBLh1; // min. height of cables&tubes block | |
119 | // (cm) | |
120 | static const Float_t fgkCBLh2; // max. height of cables&tubes block | |
121 | // (cm) | |
122 | ||
dfef1a15 | 123 | ClassDef(AliTOFv6T0,0) //Time Of Flight version 6 |
124 | }; | |
125 | ||
126 | #endif /* ALITOFv6T0_H */ |