]>
Commit | Line | Data |
---|---|---|
7605b373 | 1 | #ifndef ALIZDCV5_H |
2 | #define ALIZDCV5_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //////////////////////////////////////////////// | |
7 | // Manager and hits classes for set: ZDC // | |
8 | //////////////////////////////////////////////// | |
9 | ||
10 | #include "AliZDC.h" | |
11 | ||
12 | //____________________________________________________________________________ | |
13 | class AliZDCv5 : public AliZDC { | |
14 | ||
15 | public: | |
16 | AliZDCv5(); | |
17 | AliZDCv5(const char *name, const char *title); | |
18 | virtual ~AliZDCv5() {} | |
19 | virtual void CreateGeometry(); | |
20 | virtual void CreateBeamLine(); | |
21 | virtual void CreateZDC(); | |
22 | virtual void CreateMaterials(); | |
23 | virtual Int_t IsVersion() const {return 1;} | |
24 | virtual void AddAlignableVolumes() const; | |
25 | virtual void Init(); | |
26 | virtual void InitTables(); | |
27 | virtual void StepManager(); | |
28 | ||
29 | void SetVCollSideCAperture(Float_t aperture) | |
30 | {if(aperture<3.5) fVCollSideCAperture = aperture; | |
31 | else printf("\n\n AliZDCv5: WARNING! SideC TCTVB aperture set to max. value: 3.5 cm\n\n");} | |
32 | void SetVCollSideCApertureNeg(Float_t aperture) | |
33 | {if(aperture<3.5) fVCollSideCApertureNeg = aperture; | |
34 | else printf("\n\n AliZDCv5: WARNING! SideC TCTVB aperture set to max. value: -3.5 cm\n\n");} | |
35 | void SetVCollSideCCentre(Float_t centre) {fVCollSideCCentreY = centre;} | |
36 | ||
37 | virtual void SetTCDDAperturePos(Float_t aperture) | |
38 | {if(aperture<=2.2) fTCDDAperturePos = aperture; | |
39 | else printf("\n\n AliZDCv5: WARNING! TCDD pos. aperture set to max. value: 2.0 cm\n\n");} | |
40 | virtual void SetTCDDApertureNeg(Float_t aperture) | |
41 | {if(aperture<=2.4) fTCDDApertureNeg = aperture; | |
42 | else printf("\n\n AliZDCv5: WARNING! TCDD neg. aperture set to max. value: -2.2 cm\n\n");} | |
43 | ||
44 | ||
45 | virtual void SetTDIAperturePos(Float_t aperture) | |
46 | {if(aperture<=6.) fTDIAperturePos = aperture; | |
47 | else printf("\n\n AliZDCv5: WARNING! TDI pos. aperture set to max. value: 6.0 cm\n\n");} | |
48 | virtual void SetTDIApertureNeg(Float_t aperture) | |
49 | {if(aperture<=6.) fTDIApertureNeg = aperture; | |
50 | else printf("\n\n AliZDCv5: WARNING! TDI neg. aperture set to max. value: -6.0 cm\n\n");} | |
8fe30ebd C |
51 | virtual void SetTDIConfiguration(Int_t configuration) |
52 | {if(fTDIConfiguration>=0 && fTDIConfiguration<=2) fTDIConfiguration=configuration; | |
53 | else printf("\n\n AliZDCv5: WARNING! TDI invalid configuration -> setting to 2\n\n");} | |
7605b373 | 54 | |
55 | void SetLumiLength(Float_t length) {fLumiLength = length;} | |
56 | ||
57 | void SetYZNC(Float_t yZNC) {fPosZNC[1] = yZNC;} | |
58 | void SetYZNA(Float_t yZNA) {fPosZNA[1] = yZNA;} | |
59 | ||
60 | void SetYZPC(Float_t yZPC) {fPosZPC[1] = yZPC;} | |
61 | void SetYZPA(Float_t yZPA) {fPosZPA[1] = yZPA;} | |
62 | ||
63 | ||
64 | protected: | |
65 | ||
66 | // Sensitive media | |
67 | Int_t fMedSensF1; // Sensitive medium F1 | |
68 | Int_t fMedSensF2; // Sensitive medium F2 | |
69 | Int_t fMedSensZP; // Sensitive medium for ZP | |
70 | Int_t fMedSensZN; // Sensitive medium for ZN | |
71 | Int_t fMedSensZEM; // Sensitive medium for EM ZDC | |
72 | Int_t fMedSensGR; // Other sensitive medium | |
73 | Int_t fMedSensPI; // Beam pipe and magnet coils | |
74 | Int_t fMedSensTDI; // Cu materials along beam pipe | |
75 | Int_t fMedSensVColl; // W jaws of vertical collimators | |
76 | Int_t fMedSensLumi; // luminometer medium | |
77 | ||
78 | // Parameters for light tables | |
79 | Int_t fNalfan; // Number of Alfa (neutrons) | |
80 | Int_t fNalfap; // Number of Alfa (protons) | |
81 | Int_t fNben; // Number of beta (neutrons) | |
82 | Int_t fNbep; // Number of beta (protons) | |
83 | Float_t fTablen[4][90][18]; // Neutrons light table | |
84 | Float_t fTablep[4][90][28]; // Protons light table | |
85 | ||
86 | // Parameters for hadronic calorimeters geometry | |
87 | // NB -> parameters used in CreateZDC() and in StepManager() | |
88 | // (other parameters are defined in CreateZDC()) | |
89 | Float_t fDimZN[3]; // Dimensions of proton detector | |
90 | Float_t fDimZP[3]; // Dimensions of proton detector | |
91 | Float_t fPosZNC[3]; // Position of neutron detector side C | |
92 | Float_t fPosZNA[3]; // Position of neutron detector side A | |
93 | Float_t fPosZPC[3]; // Position of proton detector side C | |
94 | Float_t fPosZPA[3]; // Position of proton detector side A | |
95 | Float_t fFibZN[3]; // Fibers for neutron detector | |
96 | Float_t fFibZP[3]; // Fibers for proton detector | |
97 | ||
98 | // Parameters for EM calorimeter geometry | |
99 | // NB -> parameters used in CreateZDC() and in StepManager() | |
100 | // (other parameters are defined in CreateZDC()) | |
101 | Float_t fPosZEM[3]; // Position of EM detector | |
102 | Float_t fZEMLength; // ZEM length | |
103 | ||
104 | // Parameters for proton accepancy studies | |
105 | Int_t fpLostITC, fpLostD1C, fpcVCollC, fpDetectedC, fnDetectedC; // Side C | |
106 | Int_t fpLostITA, fpLostD1A, fpLostTDI, fpcVCollA, fpDetectedA, fnDetectedA; // Side A | |
107 | ||
108 | // Apertures to describe beam line elements variable apertures | |
109 | ||
110 | // Vertical collimator | |
111 | Float_t fVCollSideCAperture; // Semi-aperture of TCTVB jaws pos. y dir. | |
112 | Float_t fVCollSideCApertureNeg; // Semi-aperture of TCTVB jaws neg. y dir (abs. value) | |
113 | Float_t fVCollSideCCentreY; // Centre of TCTVB jaw apertures | |
114 | ||
115 | // TCDD | |
116 | Float_t fTCDDAperturePos; // TCDD semi-aperture pos. y dir. | |
117 | Float_t fTCDDApertureNeg; // TCDD semi-aperture neg. y dir. (abs. value) | |
118 | ||
119 | // TDI | |
120 | Float_t fTDIAperturePos; // TDI jaw semi-aperture pos. y dir. | |
121 | Float_t fTDIApertureNeg; // TDI jaw semi-aperture neg. y dir. (abs. value) | |
122 | // | |
123 | Int_t fTDIConfiguration; // choose TDI design | |
124 | ||
125 | Float_t fLumiLength; // Luminometer length | |
126 | ||
127 | ClassDef(AliZDCv5, 1) // Zero Degree Calorimeter version 1 | |
128 | }; | |
129 | ||
130 | #endif |