]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PMD/AliPMDDigitizer.h
Changes needed by the Root HEAD (F.Carminati)
[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#include <TObjArray.h>
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;
b2b13ee2 32
33class AliPMDcell;
34class AliPMDsdigit;
35class AliPMDdigit;
b2b13ee2 36
7088dbe9 37class AliPMDDigitizer:public AliDigitizer
b2b13ee2 38{
b2b13ee2 39 public:
40
41 AliPMDDigitizer();
7088dbe9 42 AliPMDDigitizer(AliRunDigitizer *manager);
b2b13ee2 43 virtual ~AliPMDDigitizer();
44
85a5290f 45 void OpengAliceFile(const char *file, Option_t *option);
b2b13ee2 46
36031625 47 void Hits2SDigits(Int_t ievt);
48 void Hits2Digits(Int_t ievt);
49 void SDigits2Digits(Int_t ievt);
7088dbe9 50 void Exec(Option_t *option);
51 void MergeSDigits(Int_t filenumber, Int_t troffset);
b2b13ee2 52 void TrackAssignment2Cell();
a7d110b8 53 void MeV2ADC(Float_t mev, Float_t & adc) const;
36031625 54 void AddSDigit(Int_t trnumber, Int_t det, Int_t smnumber,
7088dbe9 55 Int_t irow, Int_t icol, Float_t adc);
36031625 56 void AddDigit(Int_t trnumber, Int_t det, Int_t smnumber,
7088dbe9 57 Int_t irow, Int_t icol, Float_t adc);
36031625 58 void SetZPosition(Float_t zpos);
b2b13ee2 59 Float_t GetZPosition() const;
60 void ResetCell();
61 void ResetSDigit();
62 void ResetDigit();
63 void ResetCellADC();
7088dbe9 64 void UnLoad(Option_t * option);
b2b13ee2 65
36031625 66 protected:
ebd83c56 67 AliRunLoader *fRunLoader; //! Pointer to Run Loader
68 AliPMDhit *fPMDHit; //! Pointer to specific detector hits
69 AliDetector *fPMD; //! Get pointers to Alice detectors
36031625 70 // and Hits containers
ebd83c56 71 AliLoader *fPMDLoader; //! Pointer to specific detector loader
36031625 72
ebd83c56 73 TClonesArray *fSDigits; //! List of summable digits
74 TClonesArray *fDigits; //! List of digits
36031625 75
ebd83c56 76 TObjArray fCell; //! List of pmd cells
36031625 77
7088dbe9 78 Int_t fDebug; // Debug switch
36031625 79 Int_t fNsdigit; // Summable digits counter
80 Int_t fNdigit; // Digits counter
81 Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
82 Float_t fZPos; // z-position of the detector
83
84 static const Int_t fgkTotUM = 24; // Total Unit modules in one detector
85 static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
86 static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
ebd83c56 87 Float_t fCPV[fgkTotUM][fgkRow][fgkCol]; //! CPV Array containing total edep
88 Float_t fPRE[fgkTotUM][fgkRow][fgkCol]; //! PRE Array containing total edep
89 Int_t fPRECounter[fgkTotUM][fgkRow][fgkCol]; //! Number of times each cell
36031625 90 // is fired in PMD
ebd83c56 91 Int_t fPRETrackNo[fgkTotUM][fgkRow][fgkCol]; //! PRE Array containing track number
92 Int_t fCPVTrackNo[fgkTotUM][fgkRow][fgkCol]; //! CPV Array containing track number
36031625 93
94
ebd83c56 95 ClassDef(AliPMDDigitizer,4) // To digitize PMD Hits
b2b13ee2 96};
97#endif
98