X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSPlaneEff.h;h=9092d9672a172d6769add011fd51cd89944d8a45;hb=f88549d910fb8da95e5d205fc1f72d02120c9590;hp=cd69a6f797423b316dc2df416d7edf39f5e38fa5;hpb=6344adccca6954adb6dd4cc566b3703fcce0ed94;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSPlaneEff.h b/ITS/AliITSPlaneEff.h index cd69a6f7974..9092d9672a1 100644 --- a/ITS/AliITSPlaneEff.h +++ b/ITS/AliITSPlaneEff.h @@ -3,13 +3,13 @@ /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -#include #include -#include "AliLog.h" +#include "AliPlaneEff.h" class AliITSsegmentation; class TF1; class AliITSgeom; +class AliLog; //////////////////////////////////////////////////// // // @@ -20,17 +20,16 @@ class AliITSgeom; /* $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,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