class AliMUONSparseHisto;
class AliMUONVStore;
class TCollection;
+class TArrayI;
class AliMUONVTrackerData : public TNamed, public TQObject
{
virtual ~AliMUONVTrackerData();
/// Add values for one event from one full store
- virtual Bool_t Add(const AliMUONVStore& store) = 0;
+ virtual Bool_t Add(const AliMUONVStore& store, TArrayI* arrayOfNofEventsPerDDL=0x0) = 0;
/// Replace values
virtual Bool_t Replace(const AliMUONVStore& store) = 0;
/// 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*
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;
/// 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);