Preliminary version of optics 6.2 - Insertion of TDI
[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  Hits2Digits(Int_t ntracks = 0);
28   virtual void  MakeBranch(Option_t* opt, char *file=0);
29   virtual Int_t IsVersion() const {return 1;}
30   virtual void  DrawModule();
31   virtual void  Init();
32   virtual void  InitTables();
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   Int_t   fMedSensTDI;        // TDI Cu shielding 
57   
58   // Parameters for light tables
59   Int_t   fNalfan;            // Number of Alfa (neutrons)
60   Int_t   fNalfap;            // Number of Alfa (protons)
61   Int_t   fNben;              // Number of beta (neutrons)
62   Int_t   fNbep;              // Number of beta (protons)
63   Float_t fTablen[4][90][18]; // Neutrons light table
64   Float_t fTablep[4][90][28]; // Protons light table
65
66   // Parameters for hadronic calorimeters geometry
67   // NB -> parameters used in CreateZDC() and in StepManager()
68   // (other parameters are defined in CreateZDC())
69   Float_t fDimZP[3];    // Dimensions of proton detector
70   Float_t fPosZN[3];    // Position of neutron detector
71   Float_t fPosZP[3];    // Position of proton detector
72   Float_t fFibZN[3];    // Fibers for neutron detector
73   Float_t fFibZP[3];    // Fibers for proton detector
74
75   // Parameters for EM calorimeter geometry
76   // NB -> parameters used in CreateZDC() and in StepManager()
77   // (other parameters are defined in CreateZDC())
78   Float_t fPosZEM[3]; // Position of EM detector
79   
80   // Parameters for tracking studies
81   Int_t fpLostIT, fpLostD1, fpLostTDI, fpDetected;
82   
83   
84 //  // Parameters for conversion of light yield in ADC channels
85 //  Float_t fPMGain[3][5];      // PM gain
86 //  Float_t fADCRes;            // ADC conversion factor
87   
88    ClassDef(AliZDCv1,1)  // Zero Degree Calorimeter version 1
89 }; 
90  
91 #endif