]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDDigitizer.h
calibration function added
[u/mrichter/AliRoot.git] / PMD / AliPMDDigitizer.h
index 58ffa08cc0f0d83960600e002958c4042c3c83d7..da1b96bd479406fdd5fb63c46fb5de10f52edd15 100644 (file)
 //                                                     //
 //-----------------------------------------------------//
 
+
+#include "AliDigitizer.h"
+
 class TClonesArray;
 class TFile;
-class TMath;
 class TObjArray;
 class TParticle;
 class TTree;
@@ -25,59 +27,61 @@ class AliDetector;
 class AliPMDhit;
 class AliHit;
 class AliHeader;
+class AliRunDigitizer;
+class AliCDBManager;
+class AliCDBStorage;
 
 class AliPMDcell;
 class AliPMDsdigit;
 class AliPMDdigit;
-class AliPMDClustering;
+class AliPMDCalibData;
 
-class AliPMDDigitizer
+class AliPMDDigitizer:public AliDigitizer
 {
  public:
 
   AliPMDDigitizer();
+  AliPMDDigitizer(AliRunDigitizer *manager);
   virtual ~AliPMDDigitizer();
 
-  void OpengAliceFile(char *file, Option_t *option);
+  void OpengAliceFile(const char *file, Option_t *option);
 
   void Hits2SDigits(Int_t ievt);
   void Hits2Digits(Int_t ievt);
   void SDigits2Digits(Int_t ievt);
+  void Exec(Option_t *option);
+  void MergeSDigits(Int_t filenumber, Int_t troffset);
   void TrackAssignment2Cell();
-  void MeV2ADC(Float_t mev, Float_t & adc);
+  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);
+                Int_t irow, Int_t icol, Float_t adc);
   void AddDigit(Int_t trnumber, Int_t det, Int_t smnumber, 
-               Int_t cellnumber, Float_t adc);
+               Int_t irow, Int_t icol, Float_t adc);
   void  SetZPosition(Float_t zpos);
   Float_t GetZPosition() const;
   void ResetCell();
   void ResetSDigit();
   void ResetDigit();
   void ResetCellADC();
-  void UnLoad(Option_t * /* option */);
+  void UnLoad(Option_t * option);
+
+  Float_t  Gain(Int_t det, Int_t smn, Int_t row, Int_t col) const;
+
+  AliPMDCalibData *GetCalibData() const;
 
  protected:
-  AliRunLoader *fRunLoader;  // Pointer to Run Loader
-  AliRun       *fAlice;      // Pointer to a Run
-  AliPMDhit    *fPMDHit;     // Pointer to specific detector hits
-  AliDetector  *fPMD;        // Get pointers to Alice detectors 
+  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
+  AliLoader    *fPMDLoader;  //! Pointer to specific detector loader
 
-  TTree        *fTreeH;      // Hits tree
-  TTree        *fTreeS;      // Summable Digits tree
-  TTree        *fTreeD;      // Digits tree
+  AliPMDCalibData *fCalibData;  //! calibration data
 
-  TClonesArray *fSDigits;    // List of summable digits
-  TClonesArray *fDigits;     // List of digits
+  TClonesArray *fSDigits;    //! List of summable digits
+  TClonesArray *fDigits;     //! List of digits
 
-  TObjArray    *fCell;       // List of pmd cells
-  AliPMDcell   *fPMDcell;    // Pointer to a PMD cell
+  TObjArray     fCell;       //! List of pmd cells
 
   Int_t   fNsdigit;          // Summable digits counter
   Int_t   fNdigit;           // Digits counter
@@ -87,15 +91,15 @@ class AliPMDDigitizer
   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
+  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
+  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
+  ClassDef(AliPMDDigitizer,6)    // To digitize PMD Hits
 };
 #endif