Correction of TOF strip positioning in a SM
[u/mrichter/AliRoot.git] / TOF / AliTOFv6T0.h
CommitLineData
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
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();
33 virtual void DrawModule() const;
34 virtual void DrawDetectorModules() const;
35 virtual void DrawDetectorStrips() const;
36
37 protected:
38
39 void MaterialMixer(Float_t* p,Float_t* a,Float_t* m,Int_t n) const;
40
41private:
57df6e96 42
43 void CreateModules(Float_t xtof, Float_t ytof, Float_t zlenA,
44 Float_t xFLT, Float_t yFLT, Float_t zFLTA) const;
45 void MakeStripsInModules(Float_t ytof, Float_t zlenA) const;
46 void CreateModuleCovers(Float_t xtof, Float_t zlenA) const;
47 void CreateBackZone(Float_t xtof, Float_t ytof, Float_t zlenA) const;
5e6c8f3d 48 void MakeFrontEndElectronics(Float_t xtof) const;
49 void MakeFEACooling(Float_t xtof) const;
50 void MakeNinoMask(Float_t xtof) const;
57df6e96 51 void MakeSuperModuleCooling(Float_t xtof, Float_t ytof, Float_t zlenA) const;
52 void MakeSuperModuleServices(Float_t xtof, Float_t ytof, Float_t zlenA) const;
53 void MakeModulesInBTOFvolumes(Float_t ytof, Float_t zlenA) const;
54 void MakeCoversInBTOFvolumes() const;
55 void MakeBackInBTOFvolumes(Float_t ytof) const;
56 void MakeReadoutCrates(Float_t ytof) const;
57
dfef1a15 58 Int_t fIdFTOA; // FTOA volume identifier (outer plate A)
59 Int_t fIdFTOB; // FTOB volume identifier (outer plate B)
60 Int_t fIdFTOC; // FTOC volume identifier (outer plate C)
61 Int_t fIdFLTA; // FLTA volume identifier (inner plate A)
62 Int_t fIdFLTB; // FLTB volume identifier (inner plate B)
63 Int_t fIdFLTC; // FLTC volume identifier (inner plate C)
5e6c8f3d 64
57df6e96 65 //private:
66
5e6c8f3d 67 static const Bool_t fgkFEAwithMasks[18]; // Selecting TOF sectors containing FEA cooling masks
68
57df6e96 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)
5e6c8f3d 122 static const Float_t fgkBetweenLandMask; // distance between the L
123 // element and the Nino
124 // mask (cm)
125 static const Float_t fgkAl1parameters[3]; // (cm)
126 static const Float_t fgkAl2parameters[3]; // (cm)
127 static const Float_t fgkAl3parameters[3]; // (cm)
128 static const Float_t fgkRoof1parameters[3]; // (cm)
129 static const Float_t fgkRoof2parameters[3]; // (cm)
130 static const Float_t fgkFEAparameters[3]; // (cm)
131 //static const Float_t fgkFCAparameters[3]; // (cm)
132 static const Float_t fgkBar[3]; // (cm)
133 static const Float_t fgkBar1[3]; // (cm)
134 static const Float_t fgkBar2[3]; // (cm)
135 static const Float_t fgkBarS[3]; // (cm)
136 static const Float_t fgkBarS1[3]; // (cm)
137 static const Float_t fgkBarS2[3]; // (cm)
57df6e96 138
dfef1a15 139 ClassDef(AliTOFv6T0,0) //Time Of Flight version 6
140};
141
142#endif /* ALITOFv6T0_H */