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 //-----------------------------------------------------//
7 // Header File : PMDDigitization.h, Version 00 //
9 // Date : September 20 2002 //
11 //-----------------------------------------------------//
13 #include "AliDigitizer.h"
30 class AliRunDigitizer;
36 class AliPMDDigitizer:public AliDigitizer
41 AliPMDDigitizer(AliRunDigitizer *manager);
42 virtual ~AliPMDDigitizer();
44 void OpengAliceFile(const char *file, Option_t *option);
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;
63 void UnLoad(Option_t * option);
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
72 TClonesArray *fHits; // Pointer to hits array
73 TObjArray *fPArray; // Pointer to particle array
74 TParticle *fParticle; // Pointer to a given particle
76 TTree *fTreeH; // Hits tree
77 TTree *fTreeS; // Summable Digits tree
78 TTree *fTreeD; // Digits tree
80 TClonesArray *fSDigits; // List of summable digits
81 TClonesArray *fDigits; // List of digits
83 TObjArray *fCell; // List of pmd cells
84 AliPMDcell *fPMDcell; // Pointer to a PMD cell
86 Int_t fDebug; // Debug switch
87 Int_t fNsdigit; // Summable digits counter
88 Int_t fNdigit; // Digits counter
89 Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
90 Float_t fZPos; // z-position of the detector
92 static const Int_t fgkTotUM = 24; // Total Unit modules in one detector
93 static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
94 static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
95 Float_t fCPV[fgkTotUM][fgkRow][fgkCol]; // CPV Array containing total edep
96 Float_t fPRE[fgkTotUM][fgkRow][fgkCol]; // PRE Array containing total edep
97 Int_t fPRECounter[fgkTotUM][fgkRow][fgkCol]; // Number of times each cell
99 Int_t fPRETrackNo[fgkTotUM][fgkRow][fgkCol]; // PRE Array containing track number
100 Int_t fCPVTrackNo[fgkTotUM][fgkRow][fgkCol]; // CPV Array containing track number
103 ClassDef(AliPMDDigitizer,3) // To digitize PMD Hits