1 #ifndef ALIMUONVTRACKERDATA_H
2 #define ALIMUONVTRACKERDATA_H
23 # include <TQObject.h>
36 Bool_t issingleevent=kFALSE);
40 virtual Bool_t
Add(
const AliMUONVStore& store, TArrayI* arrayOfNofEventsPerDDL=0x0) = 0;
46 virtual Double_t
BusPatch(Int_t busPatchId, Int_t dim=0)
const = 0;
49 virtual Double_t
Chamber(Int_t chamberId, Int_t dim=0)
const = 0;
52 virtual Double_t
Channel(Int_t detElemId, Int_t manuId, Int_t manuChannel,
53 Int_t dim=0)
const = 0;
56 virtual void Clear(Option_t* opt=
"") = 0;
59 virtual Double_t
Count(Int_t detElemId, Int_t manuId, Int_t manuChannel)
const = 0;
71 virtual Bool_t
HasBusPatch(Int_t busPatchId)
const = 0;
74 virtual Bool_t
HasChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel)
const;
77 virtual Bool_t
HasChamber(Int_t chamberId)
const = 0;
83 virtual Bool_t
HasManu(Int_t detElemId, Int_t manuId)
const = 0;
86 virtual Bool_t
HasPCB(Int_t detElemId, Int_t pcbIndex)
const = 0;
92 virtual Double_t
Manu(Int_t detElemId, Int_t manuId, Int_t dim=0)
const = 0;
112 const char*
Name()
const {
return GetName(); }
115 virtual Double_t
PCB(Int_t detElemId, Int_t pcbIndex, Int_t dim=0)
const = 0;
118 virtual void Print(Option_t* wildcard=
"")
const;
121 virtual void Print(Option_t* wildcard, Option_t* opt)
const = 0;
131 Double_t =0.0, Double_t =4096.0) { }
134 virtual void HistogramRange(Double_t& xmin, Double_t& xmax)
const { xmin=xmax=0.0; }
141 Int_t manuChannel, Int_t dim=0)
const = 0;
145 Int_t dim=0)
const = 0;
148 virtual Long64_t
Merge(TCollection* list) = 0;
virtual Bool_t IsBusPatchLevelEnabled() const =0
Whether we store values at the bus patch level or not.
virtual Double_t DetectionElement(Int_t detElemId, Int_t dim=0) const =0
Get the value for a given DE and given dimension.
virtual void DisableChannelLevel()=0
Disable recording of information at the channel level.
virtual Bool_t IsManuLevelEnabled() const =0
Whether we store values at the channel level.
AliMUONVTrackerData & operator=(const AliMUONVTrackerData &rhs)
not implemented
virtual Long64_t Merge(TCollection *list)=0
To allow merging of different objects.
virtual void Print(Option_t *wildcard="") const
Print all objects whose name matches wildcard.
virtual Double_t Chamber(Int_t chamberId, Int_t dim=0) const =0
Get the value for a given chamber and given dimension.
virtual Bool_t Replace(const AliMUONVStore &store)=0
Replace values.
virtual void DisableManuLevel()=0
Disable recording of information at the manu level (and below)
virtual Bool_t HasManu(Int_t detElemId, Int_t manuId) const =0
Whether we have data for a given manu.
virtual Bool_t HasChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel) const
Whether we have a given channel or not.
virtual Double_t Channel(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t dim=0) const =0
Get the value for a given channel and given dimension.
virtual Bool_t HasPCB(Int_t detElemId, Int_t pcbIndex) const =0
Whether we have data for a given PCB.
virtual Int_t NumberOfEvents(Int_t ddlNumber) const =0
virtual Double_t PCB(Int_t detElemId, Int_t pcbIndex, Int_t dim=0) const =0
Get the value for a given PCDB and given dimension.
virtual TString DimensionName(Int_t dim) const =0
Get the name of a given (internal) dimension.
virtual ~AliMUONVTrackerData()
virtual void NumberOfEventsChanged()
Signal to indicate that the number of events changed.
virtual Double_t Manu(Int_t detElemId, Int_t manuId, Int_t dim=0) const =0
Get the value for a given manu and given dimension.
virtual void HistogramRange(Double_t &xmin, Double_t &xmax) const
Get histogram range.
virtual AliMUONSparseHisto * GetManuSparseHisto(Int_t detElemId, Int_t manuId, Int_t dim=0) const =0
Get sparse histogram for a given manu (valid only if IsChannelLevelEnabled()==kFALSE and IsManuLevelE...
virtual Bool_t IsSingleEvent() const =0
Whether we deal with only one event at a time.
virtual Double_t Count(Int_t detElemId, Int_t manuId, Int_t manuChannel) const =0
Get the number of times a given channel was hit.
virtual Bool_t HasDetectionElement(Int_t detElemId) const =0
Whether we have data for a given detection element.
virtual void SetDimensionName(Int_t index, const char *value)=0
Set the name of a given dimension.
virtual Bool_t HasChamber(Int_t chamberId) const =0
Whether we have data for a given chamber.
A very memory compact histogram to hold some tracker distributions.
virtual AliMUONSparseHisto * GetChannelSparseHisto(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t dim=0) const =0
Get sparse histogram for a given channel.
virtual Bool_t IsHistogrammed(Int_t) const
Whether we have histograms for a given dimension, or not.
virtual void Clear(Option_t *opt="")=0
Reset the data.
virtual Bool_t IsChannelLevelEnabled() const =0
Whether we store values at the channel level.
virtual Bool_t Add(const AliMUONVStore &store, TArrayI *arrayOfNofEventsPerDDL=0x0)=0
Add values for one event from one full store.
virtual Double_t BusPatch(Int_t busPatchId, Int_t dim=0) const =0
Get the value for a given buspatch and given dimension.
virtual TString ExternalDimensionName(Int_t dim) const =0
Get the name of a given (external) dimension.
virtual Bool_t IsPCBLevelEnabled() const =0
Whether we store values at the PCB level or not.
virtual Int_t NumberOfDimensions() const =0
The number of dimensions we are handling.
virtual Bool_t CanHistogram() const
Whether or not we can make histograms.
const char * Name() const
Get our name.
Base class for MUON data stores.
Base class for MUON data that can be presented at different levels in the hierarchy of the MUON syste...
virtual Bool_t HasBusPatch(Int_t busPatchId) const =0
Whether we have data for a given buspath.
virtual void MakeHistogramForDimension(Int_t, Bool_t, Double_t=0.0, Double_t=4096.0)
Select a dimension to be histogrammed (if CanHistogram==kTRUE) only.
virtual Int_t ExternalDimension() const =0
The number of dimensions we are inputting.
AliMUONVTrackerData(const char *name="", const char *title="", Bool_t issingleevent=kFALSE)
virtual Int_t InternalToExternal(Int_t dim) const =0
Convert from internal to external dimension.