]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PMD/AliPMDDigitizer.h
Reset rawReader in MakeRaws (Yves)
[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//-----------------------------------------------------//
a48edddd 12// Author - B.K. Nandi
13//
9e9f8d23 14
7088dbe9 15#include "AliDigitizer.h"
16
b2b13ee2 17class TClonesArray;
18class TFile;
b2b13ee2 19class TObjArray;
20class TParticle;
21class TTree;
22class TNtuple;
23
24class AliLoader;
25class AliRunLoader;
26class AliRun;
27class AliDetector;
28class AliPMDhit;
29class AliHit;
30class AliHeader;
7088dbe9 31class AliRunDigitizer;
09a06455 32class AliCDBManager;
33class AliCDBStorage;
b2b13ee2 34
35class AliPMDcell;
36class AliPMDsdigit;
37class AliPMDdigit;
09a06455 38class AliPMDCalibData;
35535af7 39class AliPMDPedestal;
b2b13ee2 40
7088dbe9 41class AliPMDDigitizer:public AliDigitizer
b2b13ee2 42{
b2b13ee2 43 public:
44
45 AliPMDDigitizer();
a48edddd 46 AliPMDDigitizer(const AliPMDDigitizer &digitizer); // copy constructor
47 AliPMDDigitizer &operator=(const AliPMDDigitizer &digitizer); // assign op
7088dbe9 48 AliPMDDigitizer(AliRunDigitizer *manager);
b2b13ee2 49 virtual ~AliPMDDigitizer();
50
85a5290f 51 void OpengAliceFile(const char *file, Option_t *option);
b2b13ee2 52
36031625 53 void Hits2SDigits(Int_t ievt);
54 void Hits2Digits(Int_t ievt);
55 void SDigits2Digits(Int_t ievt);
7088dbe9 56 void Exec(Option_t *option);
57 void MergeSDigits(Int_t filenumber, Int_t troffset);
4d59e381 58 void TrackAssignment2CPVCell();
b2b13ee2 59 void TrackAssignment2Cell();
a7d110b8 60 void MeV2ADC(Float_t mev, Float_t & adc) const;
36031625 61 void AddSDigit(Int_t trnumber, Int_t det, Int_t smnumber,
7088dbe9 62 Int_t irow, Int_t icol, Float_t adc);
36031625 63 void AddDigit(Int_t trnumber, Int_t det, Int_t smnumber,
7088dbe9 64 Int_t irow, Int_t icol, Float_t adc);
36031625 65 void SetZPosition(Float_t zpos);
b2b13ee2 66 Float_t GetZPosition() const;
67 void ResetCell();
68 void ResetSDigit();
69 void ResetDigit();
70 void ResetCellADC();
7088dbe9 71 void UnLoad(Option_t * option);
b2b13ee2 72
09a06455 73 Float_t Gain(Int_t det, Int_t smn, Int_t row, Int_t col) const;
74
35535af7 75 AliPMDCalibData *GetCalibGain() const;
76 AliPMDPedestal *GetCalibPed() const;
09a06455 77
36031625 78 protected:
ebd83c56 79 AliRunLoader *fRunLoader; //! Pointer to Run Loader
80 AliPMDhit *fPMDHit; //! Pointer to specific detector hits
81 AliDetector *fPMD; //! Get pointers to Alice detectors
36031625 82 // and Hits containers
ebd83c56 83 AliLoader *fPMDLoader; //! Pointer to specific detector loader
36031625 84
35535af7 85 AliPMDCalibData *fCalibGain; //! Gain calibration data
86 AliPMDPedestal *fCalibPed; //! Pedestal calibration data
09a06455 87
ebd83c56 88 TClonesArray *fSDigits; //! List of summable digits
89 TClonesArray *fDigits; //! List of digits
36031625 90
4d59e381 91 TObjArray fCPVCell; //! List of cpv cells
ebd83c56 92 TObjArray fCell; //! List of pmd cells
4d59e381 93
36031625 94 Int_t fNsdigit; // Summable digits counter
95 Int_t fNdigit; // Digits counter
96 Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
97 Float_t fZPos; // z-position of the detector
98
99 static const Int_t fgkTotUM = 24; // Total Unit modules in one detector
100 static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
101 static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
4d59e381 102
ebd83c56 103 Float_t fCPV[fgkTotUM][fgkRow][fgkCol]; //! CPV Array containing total edep
104 Float_t fPRE[fgkTotUM][fgkRow][fgkCol]; //! PRE Array containing total edep
4d59e381 105
106 Int_t fCPVCounter[fgkTotUM][fgkRow][fgkCol]; //! Number of times each cell
107 // is fired in CPV
ebd83c56 108 Int_t fPRECounter[fgkTotUM][fgkRow][fgkCol]; //! Number of times each cell
36031625 109 // is fired in PMD
36031625 110
4d59e381 111 Int_t fCPVTrackNo[fgkTotUM][fgkRow][fgkCol]; //! CPV Array containing
112 // track number
113 Int_t fPRETrackNo[fgkTotUM][fgkRow][fgkCol]; //! PRE Array containing
114 // track number
115
116
117 ClassDef(AliPMDDigitizer,8) // To digitize PMD Hits
b2b13ee2 118};
119#endif
120