]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ZDC/AliZDCv4.h
Don't reject any event if AliVEvent::kAny is requested
[u/mrichter/AliRoot.git] / ZDC / AliZDCv4.h
1 #ifndef ALIZDCV4_H
2 #define ALIZDCV4_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 AliZDCv4 : public AliZDC {
14
15 public:
16   AliZDCv4();
17   AliZDCv4(const char *name, const char *title);
18   virtual  ~AliZDCv4() {}
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 AliZDCv4: 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 AliZDCv4: 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 AliZDCv4: 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 AliZDCv4: 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 AliZDCv4: 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 AliZDCv4: WARNING! TDI neg. aperture set to max. value: -6.0 cm\n\n");}
51   
52   void SetLumiLength(Float_t length) {fLumiLength = length;}
53   
54   void SetYZNC(Float_t yZNC) {fPosZNC[1] = yZNC;}
55   void SetYZNA(Float_t yZNA) {fPosZNA[1] = yZNA;}
56   
57   void SetYZPC(Float_t yZPC) {fPosZPC[1] = yZPC;}
58   void SetYZPA(Float_t yZPA) {fPosZPA[1] = yZPA;}
59   
60  
61 protected:
62
63   // Sensitive media
64   Int_t   fMedSensF1;         // Sensitive medium F1
65   Int_t   fMedSensF2;         // Sensitive medium F2
66   Int_t   fMedSensZP;         // Sensitive medium for ZP
67   Int_t   fMedSensZN;         // Sensitive medium for ZN
68   Int_t   fMedSensZEM;        // Sensitive medium for EM ZDC
69   Int_t   fMedSensGR;         // Other sensitive medium
70   Int_t   fMedSensPI;         // Beam pipe and magnet coils
71   Int_t   fMedSensTDI;        // Cu materials along beam pipe
72   Int_t   fMedSensVColl;      // W jaws of vertical collimators
73   Int_t   fMedSensLumi;       // luminometer medium
74   
75   // Parameters for light tables
76   Int_t   fNalfan;            // Number of Alfa (neutrons)
77   Int_t   fNalfap;            // Number of Alfa (protons)
78   Int_t   fNben;              // Number of beta (neutrons)
79   Int_t   fNbep;              // Number of beta (protons)
80   Float_t fTablen[4][90][18]; // Neutrons light table
81   Float_t fTablep[4][90][28]; // Protons light table
82
83   // Parameters for hadronic calorimeters geometry
84   // NB -> parameters used in CreateZDC() and in StepManager()
85   // (other parameters are defined in CreateZDC())
86   Float_t fDimZN[3];    // Dimensions of proton detector
87   Float_t fDimZP[3];    // Dimensions of proton detector
88   Float_t fPosZNC[3];   // Position of neutron detector side C
89   Float_t fPosZNA[3];   // Position of neutron detector side A  
90   Float_t fPosZPC[3];   // Position of proton detector side C
91   Float_t fPosZPA[3];   // Position of proton detector side A
92   Float_t fFibZN[3];    // Fibers for neutron detector
93   Float_t fFibZP[3];    // Fibers for proton detector
94
95   // Parameters for EM calorimeter geometry
96   // NB -> parameters used in CreateZDC() and in StepManager()
97   // (other parameters are defined in CreateZDC())
98   Float_t fPosZEM[3]; // Position of EM detector
99   Float_t fZEMLength; // ZEM length
100   
101   // Parameters for proton accepancy studies
102   Int_t fpLostITC, fpLostD1C, fpcVCollC, fpDetectedC, fnDetectedC; // Side C
103   Int_t fpLostITA, fpLostD1A, fpLostTDI, fpcVCollA, fpDetectedA, fnDetectedA; // Side A
104   
105   // Apertures to describe beam line elements variable apertures
106   
107   // Vertical collimator
108   Float_t fVCollSideCAperture;    // Semi-aperture of TCTVB jaws pos. y dir.
109   Float_t fVCollSideCApertureNeg; // Semi-aperture of TCTVB jaws neg. y dir (abs. value)
110   Float_t fVCollSideCCentreY;     // Centre of TCTVB jaw apertures
111   
112   // TCDD
113   Float_t fTCDDAperturePos;       // TCDD semi-aperture pos. y dir.
114   Float_t fTCDDApertureNeg;       // TCDD semi-aperture neg. y dir. (abs. value)
115   
116   // TDI
117   Float_t fTDIAperturePos;        // TDI semi-aperture pos. y dir.
118   Float_t fTDIApertureNeg;        // TDI semi-aperture  neg. y dir. (abs. value)
119   
120   Float_t fLumiLength;            // Luminometer length
121   
122   ClassDef(AliZDCv4, 1)  // Zero Degree Calorimeter version 1
123 }; 
124  
125 #endif