-#ifndef PMDDigitizer_H
-#define PMDDigitizer_H
+#ifndef ALIPMDDIGITIZER_H
+#define ALIPMDDIGITIZER_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
//-----------------------------------------------------//
// //
// Header File : PMDDigitization.h, Version 00 //
// //
//-----------------------------------------------------//
-#include <Riostream.h>
-#include <stdlib.h>
-#include <math.h>
-#include <TMath.h>
-#include <vector>
-#include <algorithm>
-
class TClonesArray;
class TFile;
-
+class TMath;
class TObjArray;
class TParticle;
class TTree;
class AliPMDsdigit;
class AliPMDdigit;
class AliPMDClustering;
-class AliPMDrecpoint;
-
-//using namespace std;
class AliPMDDigitizer
{
- protected:
- AliRunLoader *fRunLoader;
- AliRun *gAlice;
- AliPMDhit *pmdHit; /* Pointer to specific detector hits. */
- AliDetector *PMD; /* Get pointers to Alice detectors
- and Hits containers */
- AliLoader *pmdloader;
-
- TClonesArray *PMDhits;
- TObjArray *Particles;
- TParticle *particle;
-
- TTree *treeH;
- TTree *treeS;
- TTree *treeD;
- TTree *treeR;
-
- TClonesArray *fSDigits;
- TClonesArray *fDigits;
- TClonesArray *fRecpoints;
-
- TObjArray *fCell;
- AliPMDcell *pmdcell;
- vector<int> vjunkTRN;
-
- Int_t fNsdigit;
- Int_t fNdigit;
- Int_t fDetNo;
- Float_t fZPos;
-
- static const Int_t fTotSM = 27;
- static const Int_t fNCell = 72;
- Float_t fCPV[fTotSM][fNCell][fNCell];
- Float_t fPMD[fTotSM][fNCell][fNCell];
- Int_t fPMDCounter[fTotSM][fNCell][fNCell];
- Int_t fPMDTrackNo[fTotSM][fNCell][fNCell];
- Int_t fCPVTrackNo[fTotSM][fNCell][fNCell];
-
public:
AliPMDDigitizer();
virtual ~AliPMDDigitizer();
- void OpengAliceFile(char * /* galice.root */, Option_t * /* option */);
+ void OpengAliceFile(char *file, Option_t *option);
- void Hits2SDigits(Int_t /* ievt */);
- void Hits2Digits(Int_t /* ievt */);
- void SDigits2Digits(Int_t /* ievt */);
+ void Hits2SDigits(Int_t ievt);
+ void Hits2Digits(Int_t ievt);
+ void SDigits2Digits(Int_t ievt);
void TrackAssignment2Cell();
- void MeV2ADC(Float_t /* mev */, Float_t & /* adc */);
- void AddSDigit(Int_t /* trnumber */, Int_t /* det */, Int_t /* smnumber */,
- Int_t /* cellnumber */, Float_t /* adc */);
- void AddDigit(Int_t /* trnumber */, Int_t /* det */, Int_t /* smnumber */,
- Int_t /* cellnumber */, Float_t /* adc */);
- Int_t Convert2RealSMNumber(Int_t /* smnumber1 */ );
- void SetZPosition(Float_t /* zpos */);
+ void MeV2ADC(Float_t mev, Float_t & adc) const;
+ void AddSDigit(Int_t trnumber, Int_t det, Int_t smnumber,
+ Int_t cellnumber, Float_t adc);
+ void AddDigit(Int_t trnumber, Int_t det, Int_t smnumber,
+ Int_t cellnumber, Float_t adc);
+ void SetZPosition(Float_t zpos);
Float_t GetZPosition() const;
void ResetCell();
void ResetSDigit();
void ResetCellADC();
void UnLoad(Option_t * /* option */);
- ClassDef(AliPMDDigitizer,1)
+ protected:
+ AliRunLoader *fRunLoader; // Pointer to Run Loader
+ AliPMDhit *fPMDHit; // Pointer to specific detector hits
+ AliDetector *fPMD; // Get pointers to Alice detectors
+ // and Hits containers
+ AliLoader *fPMDLoader; // Pointer to specific detector loader
+
+ TClonesArray *fHits; // Pointer to hits array
+ TObjArray *fPArray; // Pointer to particle array
+ TParticle *fParticle; // Pointer to a given particle
+
+ TTree *fTreeH; // Hits tree
+ TTree *fTreeS; // Summable Digits tree
+ TTree *fTreeD; // Digits tree
+
+ TClonesArray *fSDigits; // List of summable digits
+ TClonesArray *fDigits; // List of digits
+
+ TObjArray *fCell; // List of pmd cells
+ AliPMDcell *fPMDcell; // Pointer to a PMD cell
+
+ Int_t fNsdigit; // Summable digits counter
+ Int_t fNdigit; // Digits counter
+ Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
+ Float_t fZPos; // z-position of the detector
+
+ static const Int_t fgkTotUM = 24; // Total Unit modules in one detector
+ static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
+ static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
+ Float_t fCPV[fgkTotUM][fgkRow][fgkCol]; // CPV Array containing total edep
+ Float_t fPRE[fgkTotUM][fgkRow][fgkCol]; // PRE Array containing total edep
+ Int_t fPRECounter[fgkTotUM][fgkRow][fgkCol]; // Number of times each cell
+ // is fired in PMD
+ Int_t fPRETrackNo[fgkTotUM][fgkRow][fgkCol]; // PRE Array containing track number
+ Int_t fCPVTrackNo[fgkTotUM][fgkRow][fgkCol]; // CPV Array containing track number
+
+
+ ClassDef(AliPMDDigitizer,2) // To digitize PMD Hits
};
#endif