Remove first corrector dipole and introduce digitization
[u/mrichter/AliRoot.git] / ZDC / AliZDCv1.h
CommitLineData
68ca986e 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//____________________________________________________________________________
15class AliZDCv1 : public AliZDC {
16
17public:
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();
5ce39387 25 Int_t Digitize(Int_t Det, Int_t Quad, Int_t Light);
26 virtual void FinishEvent();
27 virtual void MakeBranch(Option_t* opt);
68ca986e 28 virtual Int_t IsVersion() const {return 1;}
29 virtual void DrawModule();
30 virtual void Init();
31 virtual void InitTables();
32 virtual void StepManager();
5ce39387 33
34 // Switching off the shower development in ZDCs
35 void NoShower(){fNoShower=1;}
36 void Shower() {fNoShower=0;}
37
38 // Digitization parameters setters and getters
39
40 // ADC pedestal mean value
41 void SetPedMean(Int_t Det, Int_t PMDet, Int_t PedMean)
42 {fPedMean[Det][PMDet] = PedMean;}
43 Float_t GetPedMean(Int_t Det, Int_t PMDet)
44 {return fPedMean[Det][PMDet];}
45 // ADC pedestal width
46 void SetPedSigma(Int_t Det, Int_t PMDet, Int_t PedSigma)
47 {fPedSigma[Det][PMDet] = PedSigma;}
48 Float_t GetPedSigma(Int_t Det, Int_t PMDet)
49 {return fPedSigma[Det][PMDet];}
50 // PM gain
51 void SetPMGain(Int_t Det, Int_t PMDet, Int_t PMGain)
52 {fPMGain[Det][PMDet] = PMGain;}
53 Float_t GetPMGain(Int_t Det, Int_t PMDet)
54 {return fPMGain[Det][PMDet];}
55 // Conversion factor from charge to ADC channels
56 // F = 1.6E-19 / Resolution [Coulomb/ch]
57 void SetADCRes(Int_t ADCRes) {fADCRes = ADCRes;}
58 Float_t GetADCRes() {return fADCRes;}
68ca986e 59
60protected:
5ce39387 61 // Sensitive media
62 Int_t fMedSensF1; // Sensitive medium F1
63 Int_t fMedSensF2; // Sensitive medium F2
64 Int_t fMedSensZP; // Sensitive medium for ZP
65 Int_t fMedSensZN; // Sensitive medium for ZN
66 Int_t fMedSensZEM; // Sensitive medium for EM ZDC
67 Int_t fMedSensGR; // Other sensitive medium
68 Int_t fMedSensPI; // Beam pipe and magnet coils
69
70 // Parameters for light tables
71 Int_t fNalfan; // Number of Alfa neutrons
72 Int_t fNalfap; // Number of Alfa protons
73 Int_t fNben; // Number of beta neutrons
74 Int_t fNbep; // Number of beta protons
75 Float_t fTablen[4][90][18]; // Neutrons light table
76 Float_t fTablep[4][90][28]; // Protons light table
77
78 // Parameters for conversion of light yield in ADC channels
79 Float_t fPedMean[3][5]; // ADC pedestal mean value
80 Float_t fPedSigma[3][5]; // ADC pedestal width
81 Float_t fPMGain[3][5]; // PM gain
82 Float_t fADCRes; // ADC conversion factor
68ca986e 83
866ab5a2 84public:
85 //Flag for fast simulation (no shower)
86 Int_t fNoShower;
87
68ca986e 88 ClassDef(AliZDCv1,1) // Zero Degree Calorimeter version 1
89};
90
91#endif