AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONVTrackerData.h
Go to the documentation of this file.
1 #ifndef ALIMUONVTRACKERDATA_H
2 #define ALIMUONVTRACKERDATA_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6 
7 // $Id$
8 
14 // Author Laurent Aphecetche, Subatech
15 
16 #ifndef ROOT_TNamed
17 # include "TNamed.h"
18 #endif
19 #ifndef ROOT_TString
20 # include "TString.h"
21 #endif
22 #ifndef ROOT_TQObject
23 # include <TQObject.h>
24 #endif
25 
26 class AliMUONSparseHisto;
27 class AliMUONVStore;
28 class TCollection;
29 class TArrayI;
30 
31 class AliMUONVTrackerData : public TNamed, public TQObject
32 {
33 public:
34 
35  AliMUONVTrackerData(const char* name="",const char* title="",
36  Bool_t issingleevent=kFALSE);
37  virtual ~AliMUONVTrackerData();
38 
40  virtual Bool_t Add(const AliMUONVStore& store, TArrayI* arrayOfNofEventsPerDDL=0x0) = 0;
41 
43  virtual Bool_t Replace(const AliMUONVStore& store) = 0;
44 
46  virtual Double_t BusPatch(Int_t busPatchId, Int_t dim=0) const = 0;
47 
49  virtual Double_t Chamber(Int_t chamberId, Int_t dim=0) const = 0;
50 
52  virtual Double_t Channel(Int_t detElemId, Int_t manuId, Int_t manuChannel,
53  Int_t dim=0) const = 0;
54 
56  virtual void Clear(Option_t* opt="") = 0;
57 
59  virtual Double_t Count(Int_t detElemId, Int_t manuId, Int_t manuChannel) const = 0;
60 
62  virtual Double_t DetectionElement(Int_t detElemId, Int_t dim=0) const = 0;
63 
65  virtual TString DimensionName(Int_t dim) const = 0;
66 
68  virtual TString ExternalDimensionName(Int_t dim) const = 0;
69 
71  virtual Bool_t HasBusPatch(Int_t busPatchId) const = 0;
72 
74  virtual Bool_t HasChannel(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
75 
77  virtual Bool_t HasChamber(Int_t chamberId) const = 0;
78 
80  virtual Bool_t HasDetectionElement(Int_t detElemId) const = 0;
81 
83  virtual Bool_t HasManu(Int_t detElemId, Int_t manuId) const = 0;
84 
86  virtual Bool_t HasPCB(Int_t detElemId, Int_t pcbIndex) const = 0;
87 
89  virtual Bool_t IsSingleEvent() const = 0;
90 
92  virtual Double_t Manu(Int_t detElemId, Int_t manuId, Int_t dim=0) const = 0;
93 
95  virtual Int_t NumberOfDimensions() const = 0;
96 
98  virtual Int_t InternalToExternal(Int_t dim) const = 0;
99 
101  virtual Int_t ExternalDimension() const = 0;
102 
106  virtual Int_t NumberOfEvents(Int_t ddlNumber) const = 0;
107 
109  virtual void NumberOfEventsChanged(); // *SIGNAL*
110 
112  const char* Name() const { return GetName(); }
113 
115  virtual Double_t PCB(Int_t detElemId, Int_t pcbIndex, Int_t dim=0) const = 0;
116 
118  virtual void Print(Option_t* wildcard="") const;
119 
121  virtual void Print(Option_t* wildcard, Option_t* opt) const = 0;
122 
124  virtual void SetDimensionName(Int_t index, const char* value) = 0;
125 
127  virtual Bool_t CanHistogram() const { return kFALSE; }
128 
130  virtual void MakeHistogramForDimension(Int_t /* index */, Bool_t /* value */,
131  Double_t /*xmin*/=0.0, Double_t /*xmax*/=4096.0) { }
132 
134  virtual void HistogramRange(Double_t& xmin, Double_t& xmax) const { xmin=xmax=0.0; }
135 
137  virtual Bool_t IsHistogrammed(Int_t /*dim*/) const { return kFALSE; }
138 
140  virtual AliMUONSparseHisto* GetChannelSparseHisto(Int_t detElemId, Int_t manuId,
141  Int_t manuChannel, Int_t dim=0) const = 0;
142 
144  virtual AliMUONSparseHisto* GetManuSparseHisto(Int_t detElemId, Int_t manuId,
145  Int_t dim=0) const = 0;
146 
148  virtual Long64_t Merge(TCollection* list) = 0;
149 
151  virtual void DisableChannelLevel() = 0;
152 
154  virtual Bool_t IsChannelLevelEnabled() const = 0;
155 
157  virtual void DisableManuLevel() = 0;
158 
160  virtual Bool_t IsManuLevelEnabled() const = 0;
161 
163  virtual Bool_t IsBusPatchLevelEnabled() const = 0;
164 
166  virtual Bool_t IsPCBLevelEnabled() const = 0;
167 
168 private:
173 
174  ClassDef(AliMUONVTrackerData,2) // Base class of MUON data that can be represented graphically
175 };
176 
177 #endif
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 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.
Definition: AliMUONVStore.h:22
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.