First big commit of the mchview program and its accompanying library,
[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
40 virtual Double_t BusPatch(Int_t busPatchId, Int_t dim=0) const = 0;
41
42 virtual Double_t Chamber(Int_t chamberId, Int_t dim=0) const = 0;
43
44 virtual Double_t Channel(Int_t detElemId, Int_t manuId, Int_t manuChannel,
45 Int_t dim=0) const = 0;
46
47 virtual void Clear(Option_t* opt="") = 0;
48
49 virtual Double_t Count(Int_t detElemId, Int_t manuId, Int_t manuChannel) const = 0;
50
51 virtual Double_t DetectionElement(Int_t detElemId, Int_t dim=0) const = 0;
52
53 virtual TString DimensionName(Int_t dim) const = 0;
54
55 virtual Bool_t HasBusPatch(Int_t busPatchId) const = 0;
56
57 virtual Bool_t HasChamber(Int_t chamberId) const = 0;
58
59 virtual Bool_t HasDetectionElement(Int_t detElemId) const = 0;
60
61 virtual Bool_t HasManu(Int_t detElemId, Int_t manuId) const = 0;
62
63 virtual Bool_t HasPCB(Int_t detElemId, Int_t pcbIndex) const = 0;
64
65 virtual Bool_t IsRunnable() const = 0;
66
67 virtual Double_t Manu(Int_t detElemId, Int_t manuId, Int_t dim=0) const = 0;
68
69 virtual Int_t NumberOfDimensions() const = 0;
70
71 virtual Int_t NumberOfEvents() const = 0;
72
73 virtual void NumberOfEventsChanged(); // *SIGNAL*
74
75 const char* Name() const { return GetName(); }
76
77 virtual Double_t PCB(Int_t detElemId, Int_t pcbIndex, Int_t dim=0) const = 0;
78
79 /// Print all objects whose name matches wildcard
80 virtual void Print(Option_t* wildcard="") const;
81
82 /// Print, with option, all objects whose name matches wildcard
83 virtual void Print(Option_t* wildcard, Option_t* opt) const = 0;
84
85 virtual void SetDimensionName(Int_t index, const char* value) = 0;
86
87private:
88 /// not implemented
89 AliMUONVTrackerData(const AliMUONVTrackerData& rhs);
90 /// not implemented
91 AliMUONVTrackerData& operator=(const AliMUONVTrackerData& rhs);
92
93 ClassDef(AliMUONVTrackerData,1) // Base class of MUON data that can be represented graphically
94};
95
96#endif