]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSv1.h
Coding convention rules obeyed
[u/mrichter/AliRoot.git] / PHOS / AliPHOSv1.h
index 864d649c0aad39daa7d6cd76390614e3c017e8f2..aaf8fc4992d1e42052ea26daef07c2edc2fa5094 100644 (file)
@@ -6,7 +6,8 @@
 //_________________________________________________________________________
 // Implementation version v1 of PHOS Manager class 
 // Layout EMC + PPSD has name GPS2  
-//                  
+// Layout EMC + CPV  has name IHEP
+//*--                  
 //*-- Author: Yves Schutz (SUBATECH)
 
 // --- ROOT system ---
@@ -18,6 +19,9 @@
 #include "AliPHOSReconstructioner.h"
 #include "AliPHOSTrackSegmentMaker.h"
 #include "AliPHOSPID.h"
+#include "AliPHOSCPVModule.h"
+#include "AliPHOSCPVHit.h"
+#include "AliPHOSCPVDigit.h"
 
 class AliPHOSv1 : public AliPHOSv0 {
 
@@ -41,13 +45,10 @@ public:
     return 1 ; 
   }
   virtual void   MakeBranch(Option_t* opt) ;
-  virtual  AliPHOSRecPoint::RecPointsList *  PpsdRecPoints() {
-    // Getting list of PPSD RecPoints
-    return fPpsdRecPoints ;
-  }
   void           Reconstruction(AliPHOSReconstructioner * Reconstructioner) ;
   void           ResetClusters(){} ;
   virtual void   ResetDigits() ; 
+  virtual void   ResetHits() ; 
   virtual void   ResetReconstruction() ; // Reset reconstructed objects
   void           SetReconstructioner(AliPHOSReconstructioner& Reconstructioner) {
     // sets the reconstructionner object to be used
@@ -62,22 +63,29 @@ public:
   }
 
   AliPHOSv1 & operator = (const AliPHOSv1 & rvalue)  {
-    // assignement operator requested by coding convention
-    // but not needed
+    // assignement operator requested by coding convention but not needed
     assert(0==1) ;
     return *this ; 
   }
 
+  // IHEP's CPV specific functions
+
+  AliPHOSCPVModule &GetCPVModule(int n) { return *(AliPHOSCPVModule*)fCPVModules->operator[](n); }
+  void       CPVDigitize (TLorentzVector p, Float_t *xy, Int_t moduleNumber, TClonesArray *digits) ;
+  Float_t    CPVPadResponseFunction(Float_t qhit, Float_t zg, Float_t xg) ;
+  Double_t   CPVCumulPadResponse(Double_t x, Double_t y) ;
+
 protected:
 
   Float_t fDigitThreshold ;                       // Threshold for the digit registration 
   Int_t fNTmpHits ;                               //!  Used internally for digitalization
   Float_t fPinElectronicNoise  ;                  // Electronic Noise in the PIN
-  AliPHOSRecPoint::RecPointsList * fPpsdRecPoints ; // The RecPoints (clusters) list in PPSD 
   AliPHOSReconstructioner * fReconstructioner ;   // Reconstrutioner of the PHOS event: Clusterization and subtracking procedures
   TClonesArray * fTmpHits ;                       //!  Used internally for digitalization 
   AliPHOSTrackSegmentMaker * fTrackSegmentMaker ; // Reconstructioner of the PHOS track segment: 2 x PPSD + 1 x EMC
 
+  TClonesArray * fCPVModules;                     // Array of CPV modules for the IHEP's version of CPV
+
   ClassDef(AliPHOSv1,1)  // Implementation of PHOS manager class for layout EMC+PPSD
 
 };