#ifndef ALIMUONVTRACKERDATA_H
#define ALIMUONVTRACKERDATA_H
#ifndef ROOT_TNamed
# include "TNamed.h"
#endif
#ifndef ROOT_TString
# include "TString.h"
#endif
#ifndef ROOT_TQObject
# include <TQObject.h>
#endif
class AliMUONSparseHisto;
class AliMUONVStore;
class TCollection;
class TArrayI;
class AliMUONVTrackerData : public TNamed, public TQObject
{
public:
AliMUONVTrackerData(const char* name="",const char* title="",
Bool_t issingleevent=kFALSE);
virtual ~AliMUONVTrackerData();
virtual Bool_t Add(const AliMUONVStore& store, TArrayI* arrayOfNofEventsPerDDL=0x0) = 0;
virtual Bool_t Replace(const AliMUONVStore& store) = 0;
virtual Double_t BusPatch(Int_t busPatchId, Int_t dim=0) const = 0;
virtual Double_t Chamber(Int_t chamberId, Int_t dim=0) const = 0;
virtual Double_t Channel(Int_t detElemId, Int_t manuId, Int_t manuChannel,
Int_t dim=0) const = 0;
virtual void Clear(Option_t* opt="") = 0;
virtual Double_t Count(Int_t detElemId, Int_t manuId, Int_t manuChannel) const = 0;
virtual Double_t DetectionElement(Int_t detElemId, Int_t dim=0) const = 0;
virtual TString DimensionName(Int_t dim) const = 0;
virtual TString ExternalDimensionName(Int_t dim) const = 0;
virtual Bool_t HasBusPatch(Int_t busPatchId) const = 0;
virtual Bool_t HasChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
virtual Bool_t HasChamber(Int_t chamberId) const = 0;
virtual Bool_t HasDetectionElement(Int_t detElemId) const = 0;
virtual Bool_t HasManu(Int_t detElemId, Int_t manuId) const = 0;
virtual Bool_t HasPCB(Int_t detElemId, Int_t pcbIndex) const = 0;
virtual Bool_t IsSingleEvent() const = 0;
virtual Double_t Manu(Int_t detElemId, Int_t manuId, Int_t dim=0) const = 0;
virtual Int_t NumberOfDimensions() const = 0;
virtual Int_t InternalToExternal(Int_t dim) const = 0;
virtual Int_t ExternalDimension() const = 0;
virtual Int_t NumberOfEvents(Int_t ddlNumber) const = 0;
virtual void NumberOfEventsChanged();
const char* Name() const { return GetName(); }
virtual Double_t PCB(Int_t detElemId, Int_t pcbIndex, Int_t dim=0) const = 0;
virtual void Print(Option_t* wildcard="") const;
virtual void Print(Option_t* wildcard, Option_t* opt) const = 0;
virtual void SetDimensionName(Int_t index, const char* value) = 0;
virtual Bool_t CanHistogram() const { return kFALSE; }
virtual void MakeHistogramForDimension(Int_t , Bool_t ,
Double_t =0.0, Double_t =4096.0) { }
virtual void HistogramRange(Double_t& xmin, Double_t& xmax) const { xmin=xmax=0.0; }
virtual Bool_t IsHistogrammed(Int_t ) const { return kFALSE; }
virtual AliMUONSparseHisto* GetChannelSparseHisto(Int_t detElemId, Int_t manuId,
Int_t manuChannel, Int_t dim=0) const = 0;
virtual AliMUONSparseHisto* GetManuSparseHisto(Int_t detElemId, Int_t manuId,
Int_t dim=0) const = 0;
virtual Long64_t Merge(TCollection* list) = 0;
virtual void DisableChannelLevel() = 0;
virtual Bool_t IsChannelLevelEnabled() const = 0;
virtual void DisableManuLevel() = 0;
virtual Bool_t IsManuLevelEnabled() const = 0;
virtual Bool_t IsBusPatchLevelEnabled() const = 0;
virtual Bool_t IsPCBLevelEnabled() const = 0;
private:
AliMUONVTrackerData(const AliMUONVTrackerData& rhs);
AliMUONVTrackerData& operator=(const AliMUONVTrackerData& rhs);
ClassDef(AliMUONVTrackerData,2)
};
#endif
AliMUONVTrackerData.h:100 AliMUONVTrackerData.h:101 AliMUONVTrackerData.h:102 AliMUONVTrackerData.h:103 AliMUONVTrackerData.h:104 AliMUONVTrackerData.h:105 AliMUONVTrackerData.h:106 AliMUONVTrackerData.h:107 AliMUONVTrackerData.h:108 AliMUONVTrackerData.h:109 AliMUONVTrackerData.h:110 AliMUONVTrackerData.h:111 AliMUONVTrackerData.h:112 AliMUONVTrackerData.h:113 AliMUONVTrackerData.h:114 AliMUONVTrackerData.h:115 AliMUONVTrackerData.h:116 AliMUONVTrackerData.h:117 AliMUONVTrackerData.h:118 AliMUONVTrackerData.h:119 AliMUONVTrackerData.h:120 AliMUONVTrackerData.h:121 AliMUONVTrackerData.h:122 AliMUONVTrackerData.h:123 AliMUONVTrackerData.h:124 AliMUONVTrackerData.h:125 AliMUONVTrackerData.h:126 AliMUONVTrackerData.h:127 AliMUONVTrackerData.h:128 AliMUONVTrackerData.h:129 AliMUONVTrackerData.h:130 AliMUONVTrackerData.h:131 AliMUONVTrackerData.h:132 AliMUONVTrackerData.h:133 AliMUONVTrackerData.h:134 AliMUONVTrackerData.h:135 AliMUONVTrackerData.h:136 AliMUONVTrackerData.h:137 AliMUONVTrackerData.h:138 AliMUONVTrackerData.h:139 AliMUONVTrackerData.h:140 AliMUONVTrackerData.h:141 AliMUONVTrackerData.h:142 AliMUONVTrackerData.h:143 AliMUONVTrackerData.h:144 AliMUONVTrackerData.h:145 AliMUONVTrackerData.h:146 AliMUONVTrackerData.h:147 AliMUONVTrackerData.h:148 AliMUONVTrackerData.h:149 AliMUONVTrackerData.h:150 AliMUONVTrackerData.h:151 AliMUONVTrackerData.h:152 AliMUONVTrackerData.h:153 AliMUONVTrackerData.h:154 AliMUONVTrackerData.h:155 AliMUONVTrackerData.h:156 AliMUONVTrackerData.h:157 AliMUONVTrackerData.h:158 AliMUONVTrackerData.h:159 AliMUONVTrackerData.h:160 AliMUONVTrackerData.h:161 AliMUONVTrackerData.h:162 AliMUONVTrackerData.h:163 AliMUONVTrackerData.h:164 AliMUONVTrackerData.h:165 AliMUONVTrackerData.h:166 AliMUONVTrackerData.h:167 AliMUONVTrackerData.h:168 AliMUONVTrackerData.h:169 AliMUONVTrackerData.h:170 AliMUONVTrackerData.h:171 AliMUONVTrackerData.h:172 AliMUONVTrackerData.h:173 AliMUONVTrackerData.h:174 AliMUONVTrackerData.h:175 AliMUONVTrackerData.h:176 AliMUONVTrackerData.h:177