]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ZDC/AliZDCv1.h
9f199d19dbdbfe84b4c78743bb395464758a6472
[u/mrichter/AliRoot.git] / ZDC / AliZDCv1.h
1 #ifndef ALIZDCV1_H
2 #define ALIZDCV1_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ////////////////////////////////////////////////
9 //  Manager and hits classes for set:ZDC      //
10 ////////////////////////////////////////////////
11
12 #include "AliZDC.h"
13
14 //____________________________________________________________________________ 
15 class AliZDCv1 : public AliZDC {
16
17 public:
18   AliZDCv1();
19   AliZDCv1(const char *name, const char *title);
20   virtual      ~AliZDCv1() {}
21   virtual void  CreateGeometry();
22   virtual void  CreateBeamLine();
23   virtual void  CreateZDC();
24   virtual void  CreateMaterials();
25   Int_t         Digitize(Int_t Det, Int_t Quad, Int_t Light);
26   virtual void  SDigits2Digits();
27   virtual void  MakeBranch(Option_t* opt, char *file=0);
28   virtual Int_t IsVersion() const {return 1;}
29   virtual void  DrawModule();
30   virtual void  Init();
31   virtual void  InitTables();
32   virtual void  Hits2Digits(Int_t ntracks = 0);
33   virtual void  StepManager();
34   
35 //  // Digitization parameters setters and getters
36 //  // PM gain
37 //  void SetPMGain(Int_t Det, Int_t PMDet, Int_t PMGain)
38 //       {fPMGain[Det][PMDet] = PMGain;}
39 //  Float_t GetPMGain(Int_t Det, Int_t PMDet)
40 //       {return fPMGain[Det][PMDet];}
41 //  // Conversion factor from charge to ADC channels
42 //  //   F = 1.6E-19 / Resolution [Coulomb/ch]
43 //  void SetADCRes(Int_t ADCRes) {fADCRes =  ADCRes;}
44 //  Float_t GetADCRes() {return fADCRes;}
45  
46 protected:
47
48   // Sensitive media
49   Int_t   fMedSensF1;         // Sensitive medium F1
50   Int_t   fMedSensF2;         // Sensitive medium F2
51   Int_t   fMedSensZP;         // Sensitive medium for ZP
52   Int_t   fMedSensZN;         // Sensitive medium for ZN
53   Int_t   fMedSensZEM;        // Sensitive medium for EM ZDC
54   Int_t   fMedSensGR;         // Other sensitive medium
55   Int_t   fMedSensPI;         // Beam pipe and magnet coils
56   
57   // Parameters for light tables
58   Int_t   fNalfan;            // Number of Alfa (neutrons)
59   Int_t   fNalfap;            // Number of Alfa (protons)
60   Int_t   fNben;              // Number of beta (neutrons)
61   Int_t   fNbep;              // Number of beta (protons)
62   Float_t fTablen[4][90][18]; // Neutrons light table
63   Float_t fTablep[4][90][28]; // Protons light table
64
65   // Parameters for hadronic calorimeters geometry
66   // NB -> parameters used in CreateZDC() and in StepManager()
67   // (other parameters are defined in CreateZDC())
68   Float_t fDimZP[3];    // Dimensions of proton detector
69   Float_t fPosZN[3];    // Position of neutron detector
70   Float_t fPosZP[3];    // Position of proton detector
71   Float_t fFibZN[3];    // Fibers for neutron detector
72   Float_t fFibZP[3];    // Fibers for proton detector
73
74   // Parameters for EM calorimeter geometry
75   // NB -> parameters used in CreateZDC() and in StepManager()
76   // (other parameters are defined in CreateZDC())
77   Float_t fPosZEM[3]; // Position of EM detector
78   
79 //  // Parameters for conversion of light yield in ADC channels
80 //  Float_t fPMGain[3][5];      // PM gain
81 //  Float_t fADCRes;            // ADC conversion factor
82   
83    ClassDef(AliZDCv1,1)  // Zero Degree Calorimeter version 1
84 }; 
85  
86 #endif