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