]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDDigitizer.h
Factorization of the different raw fitting algorithms in EMCAL (Per Thomas)
[u/mrichter/AliRoot.git] / PMD / AliPMDDigitizer.h
index 4fdc918c2426749743020b9cf99870a4426b1d56..40d128f783e265e0a0882fe291146d7de072e9dc 100644 (file)
@@ -36,6 +36,7 @@ class AliPMDcell;
 class AliPMDsdigit;
 class AliPMDdigit;
 class AliPMDCalibData;
+class AliPMDPedestal;
 
 class AliPMDDigitizer:public AliDigitizer
 {
@@ -54,11 +55,12 @@ class AliPMDDigitizer:public AliDigitizer
   void SDigits2Digits(Int_t ievt);
   void Exec(Option_t *option);
   void MergeSDigits(Int_t filenumber, Int_t troffset);
+  void TrackAssignment2CPVCell();
   void TrackAssignment2Cell();
   void MeV2ADC(Float_t mev, Float_t & adc) const;
-  void AddSDigit(Int_t trnumber, Int_t det, Int_t smnumber, 
+  void AddSDigit(Int_t trnumber, Int_t trpid, Int_t det, Int_t smnumber, 
                 Int_t irow, Int_t icol, Float_t adc);
-  void AddDigit(Int_t trnumber, Int_t det, Int_t smnumber, 
+  void AddDigit(Int_t trnumber, Int_t trpid, Int_t det, Int_t smnumber, 
                Int_t irow, Int_t icol, Float_t adc);
   void  SetZPosition(Float_t zpos);
   Float_t GetZPosition() const;
@@ -70,7 +72,8 @@ class AliPMDDigitizer:public AliDigitizer
 
   Float_t  Gain(Int_t det, Int_t smn, Int_t row, Int_t col) const;
 
-  AliPMDCalibData *GetCalibData() const;
+  AliPMDCalibData *GetCalibGain() const;
+  AliPMDPedestal  *GetCalibPed() const;
 
  protected:
   AliRunLoader *fRunLoader;  //! Pointer to Run Loader
@@ -79,13 +82,15 @@ class AliPMDDigitizer:public AliDigitizer
                              // and Hits containers 
   AliLoader    *fPMDLoader;  //! Pointer to specific detector loader
 
-  AliPMDCalibData *fCalibData;  //! calibration data
+  AliPMDCalibData *fCalibGain;  //! Gain calibration data
+  AliPMDPedestal  *fCalibPed;   //! Pedestal calibration data
 
   TClonesArray *fSDigits;    //! List of summable digits
   TClonesArray *fDigits;     //! List of digits
 
+  TObjArray     fCPVCell;     //! List of cpv cells   
   TObjArray     fCell;       //! List of pmd cells
-
+  
   Int_t   fNsdigit;          // Summable digits counter
   Int_t   fNdigit;           // Digits counter
   Int_t   fDetNo;            // Detector Number (0:PRE, 1:CPV)
@@ -94,15 +99,27 @@ class AliPMDDigitizer:public AliDigitizer
   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   fCPVCounter[fgkTotUM][fgkRow][fgkCol]; //! Number of times each cell
+                                                 // is fired in CPV
   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
 
+  Int_t   fCPVTrackNo[fgkTotUM][fgkRow][fgkCol]; //! CPV Array containing 
+                                                 //  track number
+  Int_t   fPRETrackNo[fgkTotUM][fgkRow][fgkCol]; //! PRE Array containing 
+                                                 //  track number
+
+  Int_t   fCPVTrackPid[fgkTotUM][fgkRow][fgkCol]; //! CPV Array containing 
+                                                 //  track number
+  Int_t   fPRETrackPid[fgkTotUM][fgkRow][fgkCol]; //! PRE Array containing 
+                                                 //  track number
 
-  ClassDef(AliPMDDigitizer,6)    // To digitize PMD Hits
+  
+  ClassDef(AliPMDDigitizer,9)    // To digitize PMD Hits
 };
 #endif