Coverity + warning
[u/mrichter/AliRoot.git] / ZDC / AliZDCv3.h
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 //____________________________________________________________________________ 
13 class AliZDCv3 : public AliZDC {
14
15 public:
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;}
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 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");}
35   void SetVCollSideCCentre(Float_t centre) {fVCollSideCCentreY = centre;}
36   
37   void SetVCollSideAAperture(Float_t aperture)
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");}
43   void SetVCollSideACentre(Float_t centre) {fVCollSideACentreY = centre;}
44   
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   
60   void SetLumiLength(Float_t length) {fLumiLength = length;}
61   
62   void SetYZNC(Float_t yZNC) {fPosZNC[1] = yZNC;}
63   void SetYZNA(Float_t yZNA) {fPosZNA[1] = yZNA;}
64   
65   void SetYZPC(Float_t yZPC) {fPosZPC[1] = yZPC;}
66   void SetYZPA(Float_t yZPA) {fPosZPA[1] = yZPA;}
67   
68  
69 protected:
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
79   Int_t   fMedSensTDI;        // Cu materials along beam pipe
80   Int_t   fMedSensVColl;      // W jaws of vertical collimators
81   Int_t   fMedSensLumi;       // luminometer medium
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
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
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   
109   // Parameters for proton accepancy studies
110   Int_t fpLostITC, fpLostD1C, fpcVCollC, fpDetectedC, fnDetectedC; // Side C
111   Int_t fpLostITA, fpLostD1A, fpLostTDI, fpcVCollA, fpDetectedA, fnDetectedA; // Side A
112   
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)
130   
131   Float_t fLumiLength;  // Luminometer length
132   
133   ClassDef(AliZDCv3,8)  // Zero Degree Calorimeter version 1
134 }; 
135  
136 #endif