]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSPlaneEff.h
Last warnings... fed up to wait
[u/mrichter/AliRoot.git] / ITS / AliITSPlaneEff.h
index cd69a6f797423b316dc2df416d7edf39f5e38fa5..9aba39c15dc62aff8a153d1a217fb1b60767420b 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;
@@ -18,19 +18,18 @@ class AliITSgeom;
 //                                                //
 ////////////////////////////////////////////////////
 
-/* $Id$ */
+/* $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)
@@ -41,6 +40,8 @@ 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
        {AliWarning("This method gives just a rough estimate of the live-Det Efficiency!"); 
@@ -66,6 +67,25 @@ 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[2], Float_t[2], Int_t[2])
+    virtual Bool_t FillHistos(UInt_t, Bool_t, Float_t*, Float_t*, Int_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; }
 
  protected:
 
@@ -76,6 +96,7 @@ class AliITSPlaneEff : public TObject {
     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)