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