Updates
[u/mrichter/AliRoot.git] / TOF / AliTOFv6T0.h
CommitLineData
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
18class AliTOFv6T0 : public AliTOF {
19
20public:
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();
dfef1a15 33
34 protected:
35
ca83c889 36 void MaterialMixer(Float_t * p, const Float_t * const a,
37 const Float_t * const m, Int_t n) const;
dfef1a15 38
39private:
57df6e96 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;
5e6c8f3d 46 void MakeFrontEndElectronics(Float_t xtof) const;
47 void MakeFEACooling(Float_t xtof) const;
48 void MakeNinoMask(Float_t xtof) const;
57df6e96 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
dfef1a15 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)
5e6c8f3d 62
57df6e96 63 //private:
64
5e6c8f3d 65 static const Bool_t fgkFEAwithMasks[18]; // Selecting TOF sectors containing FEA cooling masks
66
57df6e96 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)
fbd27255 96 /*
57df6e96 97 static const Float_t fgkLengthInCeModBorder; // height of border
98 // between the central
99 // and intermediate
100 // modules (cm)
fbd27255 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)
57df6e96 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)
5e6c8f3d 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)
57df6e96 146
ca83c889 147 ClassDef(AliTOFv6T0,1) //Time Of Flight version 6
dfef1a15 148};
149
ca83c889 150#endif /* ALITOFV6T0_H */