]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOS.h
Fixed memory leaks for #86360: High memory consumption in 2.76TeV p+p RAW reco jobs
[u/mrichter/AliRoot.git] / PHOS / AliPHOS.h
index 4cdfa9b58a24a0fbd1be16197eb86d7ab97289fd..079ed452dd557194109ebf93a5384c43672e5356 100644 (file)
@@ -7,6 +7,42 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.73  2007/08/07 14:12:03  kharlov
+ * Quality assurance added (Yves Schutz)
+ *
+ * Revision 1.72  2007/02/13 10:52:08  policheh
+ * Raw2SDigits() implemented
+ *
+ * Revision 1.71  2007/02/05 10:43:25  hristov
+ * Changes for correct initialization of Geant4 (Mihaela)
+ *
+ * Revision 1.70  2007/01/17 17:28:56  kharlov
+ * Extract ALTRO sample generation to a separate class AliPHOSPulseGenerator
+ *
+ * Revision 1.69  2006/11/14 17:11:15  hristov
+ * Removing inheritances from TAttLine, TAttMarker and AliRndm in AliModule. The copy constructor and assignment operators are moved to the private part of the class and not implemented. The corresponding changes are propagated to the detectors
+ *
+ * Revision 1.68  2006/08/11 12:36:25  cvetan
+ * Update of the PHOS code needed in order to read and reconstruct the beam test raw data (i.e. without an existing galice.root)
+ *
+ * Revision 1.67  2006/04/07 08:42:00  hristov
+ * Follow AliAlignObj framework and remove AliPHOSAlignData (Yu.Kharlov)
+ *
+ * Revision 1.66  2006/03/24 21:39:33  schutz
+ * Modification needed to include PHOS in the global trigger framework
+ *
+ * Revision 1.65  2006/03/07 18:56:25  kharlov
+ * CDB is passed via environment variable
+ *
+ * Revision 1.64  2005/11/03 13:09:19  hristov
+ * Removing meaningless const declarations (linuxicc)
+ *
+ * Revision 1.63  2005/07/26 13:32:39  kharlov
+ * Restoring raw data fit from version of 29-Aug-2004
+ *
+ * Revision 1.62  2005/07/06 10:10:32  hristov
+ * Moving the functions used to initialize TF1 and TF2 to the pivate part of the class
+ *
  * Revision 1.61  2005/05/28 12:10:07  schutz
  * Copy constructor is corrected (by T.P.)
  *
@@ -30,6 +66,8 @@ class TRandom ;
 #include "AliDetector.h" 
 #include "AliLog.h"
 #include "AliPHOSGeometry.h" 
+#include "AliPHOSTrigger.h"
+class AliPHOSCalibData ;
 
 class AliPHOS : public AliDetector {
 
@@ -37,10 +75,6 @@ public:
 
   AliPHOS() ;
   AliPHOS(const char* name, const char* title="") ;  
-  AliPHOS(AliPHOS & phos) : AliDetector(phos) {
-    //Copy(*this) ; 
-    phos.Copy(*this);
-  }
   virtual ~AliPHOS() ; 
   virtual void   AddHit(Int_t, Int_t*, Float_t *) {
     // do not use this definition but the one below
@@ -49,55 +83,32 @@ public:
   }
   virtual void   AddHit( Int_t shunt, Int_t primary, Int_t track, 
                         Int_t id, Float_t *hits ) = 0 ;   
-  virtual void Copy(TObject &phos)const; 
   virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
   virtual void  CreateMaterials() ;            
   virtual void  Digits2Raw();
+  virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
   virtual void  FinishRun() {;}
   virtual AliPHOSGeometry * GetGeometry() const 
   {return AliPHOSGeometry::GetInstance(GetTitle(),"") ;  }
+
   virtual void    Hits2SDigits();
   virtual Int_t   IsVersion(void) const = 0 ;  
-  // Raw Read Out
-  Double_t GetRawFormatCapa() const { return fgCapa ; }   
-  Double_t GetRawFormatHighCharge() const { return fHighCharge ; }  
-  Double_t GetRawFormatHighGain() const { return fHighGain ; }  
-  Double_t GetRawFormatHighLowGainFactor() const { return fHighLowGainFactor ; }  
-  Double_t GetRawFormatLowCharge() const { return ( fHighCharge *  fHighLowGainFactor ) ; }  
-  Double_t GetRawFormatLowGain() const { return ( fHighGain / fHighLowGainFactor ) ; }  
-  Int_t GetRawFormatLowGainOffset() const { return fLowGainOffset ; }  
-  Int_t GetRawFormatOrder() const { return fgOrder ; }   
-  Int_t GetRawFormatTimeBins() const { return fkTimeBins ; }    
-  Double_t GetRawFormatTimeMax() const { return fgTimeMax ; }   
-  Double_t GetRawFormatTimePeak() const { return fgTimePeak ; }    
-  Double_t GetRawFormatTimeTrigger() const { return fgTimeTrigger ; }   
-  static Double_t RawResponseFunctionMax(Double_t charge, Double_t gain) ;
-  //
+  virtual void    Init();
+  virtual AliTriggerDetector* CreateTriggerDetector() const 
+    { return new AliPHOSTrigger(); }
+
   virtual AliLoader* MakeLoader(const char* topfoldername);
   virtual void    SetTreeAddress();   
   virtual const TString Version() const {return TString(" ") ; } 
-  AliPHOS & operator = (const AliPHOS & /*rvalue*/)  {
-    Fatal("operator =", "not implemented") ; return *this ; }
 
+ private:                                        
+  AliPHOS(AliPHOS & phos);
+  AliPHOS & operator = (const AliPHOS & /*rvalue*/);
 
-protected:
+ protected:
+  AliPHOSCalibData * fgCalibData ; //!  Pointer to Calibration DB
 
-  static Double_t RawResponseFunction(Double_t *x, Double_t *par) ; 
-  Bool_t   RawSampledResponse(const Double_t dtime, const Double_t damp, Int_t * adcH, Int_t * adcL) const ; 
-  
-  
-  static Double_t fgCapa ;              // capacitor of the preamplifier for the raw RO signal
-  Double_t fHighCharge ;                // high charge (to convert energy to charge) for the raw RO signal
-  Double_t fHighGain ;                  // high gain for the raw RO signal
-  Double_t fHighLowGainFactor ;         // high to low gain factor for the raw RO signal
-  Int_t    fLowGainOffset ;             // to separate high from low gain in the DDL
-  static Int_t fgOrder ;                // order of the gamma function for the RO signal
-  static const Int_t fkTimeBins = 256 ; // number of sampling bins of the raw RO signal  
-  static Double_t fgTimeMax ;           // maximum sampled time of the raw RO signal                             
-  static Double_t fgTimePeak ;          // peaking time of the raw RO signal                                    
-  static Double_t fgTimeTrigger ;       // time of the trigger for the RO signal 
-                                        
-  ClassDef(AliPHOS,5) // Photon Spectrometer Detector (base class)
+  ClassDef(AliPHOS,6) // Photon Spectrometer Detector (base class)
 } ;
 
 #endif // ALIPHOS_H