X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONVTrackerData.h;h=0db212b99ddcaae45e01f56b9b1d08f99d22b4c1;hb=ac09753dc3bf088388559404af91a01d5eca40d9;hp=cf91a9a7672251598c59aa64fa9effeab2a66dec;hpb=4a3224ff74d939b946ed2d7aa685456463974f1c;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONVTrackerData.h b/MUON/AliMUONVTrackerData.h index cf91a9a7672..0db212b99dd 100644 --- a/MUON/AliMUONVTrackerData.h +++ b/MUON/AliMUONVTrackerData.h @@ -6,7 +6,7 @@ // $Id$ -/// \ingroup graphics +/// \ingroup calib /// \class AliMUONVTrackerData /// \brief Base class for MUON data that can be presented at different levels /// in the hierarchy of the MUON system. @@ -26,17 +26,22 @@ class AliMUONSparseHisto; class AliMUONVStore; class TCollection; +class TArrayI; class AliMUONVTrackerData : public TNamed, public TQObject { public: - AliMUONVTrackerData(const char* name="",const char* title="", Bool_t runnable=kTRUE); + AliMUONVTrackerData(const char* name="",const char* title="", + Bool_t issingleevent=kFALSE); virtual ~AliMUONVTrackerData(); - /// Add values (accumulated over numberOfEvents events) for one full store - virtual Bool_t Add(const AliMUONVStore& store, Int_t numberOfEvents=1) = 0; + /// Add values for one event from one full store + virtual Bool_t Add(const AliMUONVStore& store, TArrayI* arrayOfNofEventsPerDDL=0x0) = 0; + /// Replace values + virtual Bool_t Replace(const AliMUONVStore& store) = 0; + /// Get the value for a given buspatch and given dimension virtual Double_t BusPatch(Int_t busPatchId, Int_t dim=0) const = 0; @@ -80,8 +85,8 @@ public: /// Whether we have data for a given PCB virtual Bool_t HasPCB(Int_t detElemId, Int_t pcbIndex) const = 0; - /// Whether we are runnable (e.g. can handle several events) - virtual Bool_t IsRunnable() const = 0; + /// Whether we deal with only one event at a time + virtual Bool_t IsSingleEvent() const = 0; /// Get the value for a given manu and given dimension virtual Double_t Manu(Int_t detElemId, Int_t manuId, Int_t dim=0) const = 0; @@ -95,8 +100,10 @@ public: /// The number of dimensions we are inputting virtual Int_t ExternalDimension() const = 0; - /// The number of events we've seen so far - virtual Int_t NumberOfEvents() const = 0; + /** The number of events we've seen so far in a given DDL (or any DDL if param<0) + ddlNumber is 0..19 + */ + virtual Int_t NumberOfEvents(Int_t ddlNumber) const = 0; /// Signal to indicate that the number of events changed virtual void NumberOfEventsChanged(); // *SIGNAL* @@ -133,9 +140,31 @@ public: virtual AliMUONSparseHisto* GetChannelSparseHisto(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t dim=0) const = 0; + /// Get sparse histogram for a given manu (valid only if IsChannelLevelEnabled()==kFALSE and IsManuLevelEnabled()==kTRUE) + virtual AliMUONSparseHisto* GetManuSparseHisto(Int_t detElemId, Int_t manuId, + Int_t dim=0) const = 0; + /// To allow merging of different objects virtual Long64_t Merge(TCollection* list) = 0; + /// Disable recording of information at the channel level + virtual void DisableChannelLevel() = 0; + + /// Whether we store values at the channel level + virtual Bool_t IsChannelLevelEnabled() const = 0; + + /// Disable recording of information at the manu level (and below) + virtual void DisableManuLevel() = 0; + + /// Whether we store values at the channel level + virtual Bool_t IsManuLevelEnabled() const = 0; + + /// Whether we store values at the bus patch level or not + virtual Bool_t IsBusPatchLevelEnabled() const = 0; + + /// Whether we store values at the PCB level or not + virtual Bool_t IsPCBLevelEnabled() const = 0; + private: /// not implemented AliMUONVTrackerData(const AliMUONVTrackerData& rhs);