calibration function added
[u/mrichter/AliRoot.git] / PMD / AliPMDDigitizer.h
CommitLineData
36031625 1#ifndef ALIPMDDIGITIZER_H
2#define ALIPMDDIGITIZER_H
b9746a9e 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
b2b13ee2 5//-----------------------------------------------------//
6// //
7// Header File : PMDDigitization.h, Version 00 //
8// //
9// Date : September 20 2002 //
10// //
11//-----------------------------------------------------//
12
9e9f8d23 13
7088dbe9 14#include "AliDigitizer.h"
15
b2b13ee2 16class TClonesArray;
17class TFile;
b2b13ee2 18class TObjArray;
19class TParticle;
20class TTree;
21class TNtuple;
22
23class AliLoader;
24class AliRunLoader;
25class AliRun;
26class AliDetector;
27class AliPMDhit;
28class AliHit;
29class AliHeader;
7088dbe9 30class AliRunDigitizer;
09a06455 31class AliCDBManager;
32class AliCDBStorage;
b2b13ee2 33
34class AliPMDcell;
35class AliPMDsdigit;
36class AliPMDdigit;
09a06455 37class AliPMDCalibData;
b2b13ee2 38
7088dbe9 39class AliPMDDigitizer:public AliDigitizer
b2b13ee2 40{
b2b13ee2 41 public:
42
43 AliPMDDigitizer();
7088dbe9 44 AliPMDDigitizer(AliRunDigitizer *manager);
b2b13ee2 45 virtual ~AliPMDDigitizer();
46
85a5290f 47 void OpengAliceFile(const char *file, Option_t *option);
b2b13ee2 48
36031625 49 void Hits2SDigits(Int_t ievt);
50 void Hits2Digits(Int_t ievt);
51 void SDigits2Digits(Int_t ievt);
7088dbe9 52 void Exec(Option_t *option);
53 void MergeSDigits(Int_t filenumber, Int_t troffset);
b2b13ee2 54 void TrackAssignment2Cell();
a7d110b8 55 void MeV2ADC(Float_t mev, Float_t & adc) const;
36031625 56 void AddSDigit(Int_t trnumber, Int_t det, Int_t smnumber,
7088dbe9 57 Int_t irow, Int_t icol, Float_t adc);
36031625 58 void AddDigit(Int_t trnumber, Int_t det, Int_t smnumber,
7088dbe9 59 Int_t irow, Int_t icol, Float_t adc);
36031625 60 void SetZPosition(Float_t zpos);
b2b13ee2 61 Float_t GetZPosition() const;
62 void ResetCell();
63 void ResetSDigit();
64 void ResetDigit();
65 void ResetCellADC();
7088dbe9 66 void UnLoad(Option_t * option);
b2b13ee2 67
09a06455 68 Float_t Gain(Int_t det, Int_t smn, Int_t row, Int_t col) const;
69
70 AliPMDCalibData *GetCalibData() const;
71
36031625 72 protected:
ebd83c56 73 AliRunLoader *fRunLoader; //! Pointer to Run Loader
74 AliPMDhit *fPMDHit; //! Pointer to specific detector hits
75 AliDetector *fPMD; //! Get pointers to Alice detectors
36031625 76 // and Hits containers
ebd83c56 77 AliLoader *fPMDLoader; //! Pointer to specific detector loader
36031625 78
09a06455 79 AliPMDCalibData *fCalibData; //! calibration data
80
ebd83c56 81 TClonesArray *fSDigits; //! List of summable digits
82 TClonesArray *fDigits; //! List of digits
36031625 83
ebd83c56 84 TObjArray fCell; //! List of pmd cells
36031625 85
86 Int_t fNsdigit; // Summable digits counter
87 Int_t fNdigit; // Digits counter
88 Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
89 Float_t fZPos; // z-position of the detector
90
91 static const Int_t fgkTotUM = 24; // Total Unit modules in one detector
92 static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
93 static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
ebd83c56 94 Float_t fCPV[fgkTotUM][fgkRow][fgkCol]; //! CPV Array containing total edep
95 Float_t fPRE[fgkTotUM][fgkRow][fgkCol]; //! PRE Array containing total edep
96 Int_t fPRECounter[fgkTotUM][fgkRow][fgkCol]; //! Number of times each cell
36031625 97 // is fired in PMD
ebd83c56 98 Int_t fPRETrackNo[fgkTotUM][fgkRow][fgkCol]; //! PRE Array containing track number
99 Int_t fCPVTrackNo[fgkTotUM][fgkRow][fgkCol]; //! CPV Array containing track number
36031625 100
101
09a06455 102 ClassDef(AliPMDDigitizer,6) // To digitize PMD Hits
b2b13ee2 103};
104#endif
105