]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSPlaneEff.h
- fixing warnings/coverity
[u/mrichter/AliRoot.git] / ITS / AliITSPlaneEff.h
index 7283e2c2f76b8088452a68da12098e8fc56fd141..331d2d2d9ea821e662041a850e750b0c31d74420 100644 (file)
@@ -3,8 +3,8 @@
 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-#include <TObject.h>
 #include <TString.h>
+#include "AliPlaneEff.h"
 #include "AliLog.h"
 
 class AliITSsegmentation;
@@ -14,22 +14,22 @@ class AliITSgeom;
 ////////////////////////////////////////////////////
 //                                                //
 // ITS virtual base class for Plane Efficiency    //
+// Origin: Giuseppe.Bruno@ba.infn.it              //
 //                                                //
 ////////////////////////////////////////////////////
 
 /* $Id$ */
 
-class AliITSPlaneEff : public TObject {
+class AliITSPlaneEff : public AliPlaneEff {
  public:
  
     AliITSPlaneEff();// Default constructor
     // Standard constructor
-    //AliITSPlaneEff(AliITSDetTypeSim *dettyp);
     virtual ~AliITSPlaneEff(){;};
     // copy constructor. See detector specific implementation.
     AliITSPlaneEff(const AliITSPlaneEff &source);
     // Assignment operator. See detector specific implementation.
-    virtual AliITSPlaneEff& operator=(const AliITSPlaneEff &source);
+    AliITSPlaneEff& operator=(const AliITSPlaneEff &source);
     // Simple way to add another class (i.e. statistics). 
     //AliITSPlaneEff& operator +=( const AliITSPlaneEff &){return *this};
     // Average Plane efficiency (including dead/noisy)
@@ -40,9 +40,12 @@ class AliITSPlaneEff : public TObject {
     Double_t ErrPlaneEff(Int_t nfound,Int_t ntried) const; 
     virtual void GetPlaneEff(Int_t nfound,Int_t ntried,Double_t &eff, Double_t &err) const
         {eff=PlaneEff(nfound,ntried); err=ErrPlaneEff(nfound,ntried); return;};
+    //
+    virtual Double_t PlaneEff(const UInt_t key) const=0;
     // Plane efficiency for active  detector (excluding dead/noisy channels)
     virtual Double_t LivePlaneEff(UInt_t) const
-       {AliError("This method must be implemented in a derived class"); return -1.;};
+       {AliWarning("This method gives just a rough estimate of the live-Det Efficiency!"); 
+        return -1.;};
     virtual Double_t ErrLivePlaneEff(UInt_t) const
        {AliError("This method must be implemented in a derived class"); return -1.;};
     // Compute the fraction of Live detector
@@ -64,22 +67,41 @@ class AliITSPlaneEff : public TObject {
        {AliError("This method must be implemented in a derived class"); return kFALSE;};
     virtual Bool_t AddFromCDB()
        {AliError("This method must be implemented in a derived class"); return kFALSE;};
+    // method to locate a basic block from Detector Local coordinate 
+    virtual UInt_t GetKeyFromDetLocCoord(Int_t, Int_t, Float_t, Float_t) const
+      {AliError("This method must be implemented in a derived class"); return 999999;};
+    virtual UInt_t Nblock() const // return the number of basic blocks
+      {AliError("This method must be implemented in a derived class"); return 999999;};
+    virtual Bool_t GetBlockBoundaries(const UInt_t,Float_t&,Float_t&,Float_t&,Float_t&) const
+      {AliError("This method must be implemented in a derived class"); return kFALSE;};
+  // Methods for dealing with auxiliary histograms
+    // method to set on/off the creation/updates of histograms (Histos are created/destroyed)
+    virtual void   SetCreateHistos(Bool_t)
+      {AliError("This method must be implemented in a derived class"); return; }
+    virtual Bool_t GetCreateHistos() const {return fHis;};
+    virtual Bool_t FillHistos(UInt_t, Bool_t, Float_t*, Float_t*, Int_t*, Float_t*)
+      {AliError("This method must be implemented in a derived class"); return kFALSE; }
+    virtual Bool_t WriteHistosToFile(TString ,Option_t*)
+      {AliError("This method must be implemented in a derived class"); return kFALSE; }
+    virtual Bool_t ReadHistosFromFile(TString )
+      {AliError("This method must be implemented in a derived class"); return kFALSE; }
+    void InitCDB();
 
  protected:
 
-    void InitCDB();
     virtual void Copy(TObject &obj) const;
     void NotImplemented(const char *method) const {if(gDebug>0)
          Warning(method,"This method is not implemented for this sub-class");}
     Int_t      fRunNumber;     //! run number (to access CDB)
     TString    fCDBUri;        //! Uri of the default CDB storage
     Bool_t     fInitCDBCalled; //! flag to check if CDB storages are already initialized
+    Bool_t      fHis;           //! if true, then histograms are created and filled 
    
  private:
     //Int_t*   fFound;         // number of associated clusters into a given block (e.g. SPD 1200 chip)
     //Int_t*   fTries;         // number of exspected  clusters into a given block (e.g. SPD 1200 chip)
     //Int_t    fRunNumber;     // run number (to access CDB)
 
-    ClassDef(AliITSPlaneEff,1) // ITS Plane Efficiency virtual base class 
+    ClassDef(AliITSPlaneEff,2) // ITS Plane Efficiency virtual base class 
 };
 #endif