]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONVTrackerData.h
Update of classes in libMUONgraphics and mchview program:
[u/mrichter/AliRoot.git] / MUON / AliMUONVTrackerData.h
CommitLineData
0145e89a 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
9/// \ingroup core
10/// \class AliMUONVTrackerData
11/// \brief Base class for MUON data that can be presented at different levels
12/// in the hierarchy of the MUON system.
13///
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_RQ_OBJECT
23# include <RQ_OBJECT.h>
24#endif
25
26class AliMUONVStore;
27
28class AliMUONVTrackerData : public TNamed
29{
30 RQ_OBJECT("AliMUONVTrackerData")
31
32public:
33
34 AliMUONVTrackerData(const char* name="",const char* title="", Bool_t runnable=kTRUE);
35 virtual ~AliMUONVTrackerData();
36
37 /// Add values for one full store
38 virtual Bool_t Add(const AliMUONVStore& store) = 0;
39
9016a84e 40 /// Get the value for a given buspatch and given dimension
0145e89a 41 virtual Double_t BusPatch(Int_t busPatchId, Int_t dim=0) const = 0;
42
9016a84e 43 /// Get the value for a given chamber and given dimension
0145e89a 44 virtual Double_t Chamber(Int_t chamberId, Int_t dim=0) const = 0;
45
9016a84e 46 /// Get the value for a given channel and given dimension
0145e89a 47 virtual Double_t Channel(Int_t detElemId, Int_t manuId, Int_t manuChannel,
48 Int_t dim=0) const = 0;
49
9016a84e 50 /// Reset the data
0145e89a 51 virtual void Clear(Option_t* opt="") = 0;
52
9016a84e 53 /// Get the number of times a given channel was hit
0145e89a 54 virtual Double_t Count(Int_t detElemId, Int_t manuId, Int_t manuChannel) const = 0;
55
9016a84e 56 /// Get the value for a given DE and given dimension
0145e89a 57 virtual Double_t DetectionElement(Int_t detElemId, Int_t dim=0) const = 0;
58
9016a84e 59 /// Get the name of a given dimension
0145e89a 60 virtual TString DimensionName(Int_t dim) const = 0;
61
9016a84e 62 /// Whether we have data for a given buspath
0145e89a 63 virtual Bool_t HasBusPatch(Int_t busPatchId) const = 0;
64
9016a84e 65 /// Whether we have data for a given chamber
0145e89a 66 virtual Bool_t HasChamber(Int_t chamberId) const = 0;
67
9016a84e 68 /// Whether we have data for a given detection element
0145e89a 69 virtual Bool_t HasDetectionElement(Int_t detElemId) const = 0;
70
9016a84e 71 /// Whether we have data for a given manu
0145e89a 72 virtual Bool_t HasManu(Int_t detElemId, Int_t manuId) const = 0;
73
9016a84e 74 /// Whether we have data for a given PCB
0145e89a 75 virtual Bool_t HasPCB(Int_t detElemId, Int_t pcbIndex) const = 0;
76
9016a84e 77 /// Whether we are runnable (e.g. can handle several events)
0145e89a 78 virtual Bool_t IsRunnable() const = 0;
79
9016a84e 80 /// Get the value for a given manu and given dimension
0145e89a 81 virtual Double_t Manu(Int_t detElemId, Int_t manuId, Int_t dim=0) const = 0;
82
9016a84e 83 /// The number of dimensions we are handling
0145e89a 84 virtual Int_t NumberOfDimensions() const = 0;
85
9016a84e 86 /// The number of events we've seen so far
0145e89a 87 virtual Int_t NumberOfEvents() const = 0;
88
9016a84e 89 /// Signal to indicate that the number of events changed
0145e89a 90 virtual void NumberOfEventsChanged(); // *SIGNAL*
91
9016a84e 92 /// Get our name
0145e89a 93 const char* Name() const { return GetName(); }
94
9016a84e 95 /// Get the value for a given PCDB and given dimension
0145e89a 96 virtual Double_t PCB(Int_t detElemId, Int_t pcbIndex, Int_t dim=0) const = 0;
97
98 /// Print all objects whose name matches wildcard
99 virtual void Print(Option_t* wildcard="") const;
100
101 /// Print, with option, all objects whose name matches wildcard
102 virtual void Print(Option_t* wildcard, Option_t* opt) const = 0;
103
9016a84e 104 /// Set the name of a given dimension
0145e89a 105 virtual void SetDimensionName(Int_t index, const char* value) = 0;
106
107private:
108 /// not implemented
109 AliMUONVTrackerData(const AliMUONVTrackerData& rhs);
110 /// not implemented
111 AliMUONVTrackerData& operator=(const AliMUONVTrackerData& rhs);
112
113 ClassDef(AliMUONVTrackerData,1) // Base class of MUON data that can be represented graphically
114};
115
116#endif