]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/AliTOFv6T0.h
Remake TOF-PID with event-time resolution calculated event-by-event (T0 fill or T0...
[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();
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
42private:
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 */