Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
Variable.h
Go to the documentation of this file.
1#ifndef Podd_Variable_h_
2#define Podd_Variable_h_
3
5//
6// Variable
7//
8// Base class for Podd "global variables". Supports basic data types.
9//
11
12#include "Rtypes.h"
13#include "VarType.h"
14
15class THaVar;
16class THaArrayString;
17
18namespace Podd {
19 class Variable {
20
21 public:
22 Variable( THaVar* pvar, const void* addr, VarType type );
23 virtual ~Variable();
24
25 virtual Int_t GetLen() const;
26 virtual Int_t GetNdim() const;
27 virtual const Int_t* GetDim() const;
28
29 VarType GetType() const { return fType; }
30
31 virtual std::vector<Double_t> GetValues() const;
32 virtual Double_t GetValue( Int_t i = 0 ) const;
33 virtual Long64_t GetValueInt( Int_t i = 0 ) const;
34
35 const void* GetValuePointer() const { return fValueP; }
36 virtual const void* GetDataPointer( Int_t i = 0 ) const;
37 virtual size_t GetData( void* buf ) const;
38 virtual size_t GetData( void* buf, Int_t i ) const;
39
40 virtual Bool_t HasSameSize( const Variable& rhs ) const;
41 virtual Bool_t HasSizeVar() const;
42 virtual Int_t Index( const THaArrayString& ) const;
43 virtual Bool_t IsArray() const;
44 virtual Bool_t IsBasic() const;
45 virtual Bool_t IsContiguous() const;
46 virtual Bool_t IsError() const;
47 virtual Bool_t IsFloat() const;
48 virtual Bool_t IsPointerArray() const;
49 virtual Bool_t IsStreamable() const;
50 virtual Bool_t IsTObject() const;
51 virtual Bool_t IsVarArray() const;
52 virtual Bool_t IsVector() const;
53
54 virtual void Print( Option_t* opt ) const;
55 virtual void SetName( const char* name );
56 virtual void SetNameTitle( const char* name, const char* descript );
57
58 protected:
59 THaVar* fSelf; //Back-pointer to parent (containing name & description)
60 const void* fValueP; //Pointer to data (interpretation depends on fType)
61 VarType fType; //Data type (see VarType.h)
62
63 const char* GetName() const;
64 size_t GetTypeSize() const;
65 const char* GetTypeName() const;
66 Bool_t VerifyNonArrayName( const char* name ) const;
67
68 };
69
70} //namespace Podd
71
72#endif
int Int_t
bool Bool_t
double Double_t
const char Option_t
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
size_t GetTypeSize() const
Definition Variable.cxx:62
virtual Bool_t IsFloat() const
Definition Variable.cxx:441
virtual void SetName(const char *name)
Definition Variable.cxx:521
virtual const void * GetDataPointer(Int_t i=0) const
Definition Variable.cxx:262
virtual const Int_t * GetDim() const
Definition Variable.cxx:90
const void * GetValuePointer() const
Definition Variable.h:35
const void * fValueP
Definition Variable.h:60
Bool_t VerifyNonArrayName(const char *name) const
Definition Variable.cxx:38
virtual Double_t GetValue(Int_t i=0) const
Definition Variable.cxx:109
virtual Int_t Index(const THaArrayString &) const
Definition Variable.cxx:384
virtual Int_t GetNdim() const
Definition Variable.cxx:82
virtual Bool_t HasSizeVar() const
Definition Variable.cxx:378
virtual Bool_t IsPointerArray() const
Definition Variable.cxx:453
virtual std::vector< Double_t > GetValues() const
Definition Variable.cxx:98
const char * GetName() const
Definition Variable.cxx:56
virtual Bool_t IsBasic() const
Definition Variable.cxx:417
virtual Bool_t IsArray() const
Definition Variable.cxx:409
virtual Bool_t IsTObject() const
Definition Variable.cxx:469
virtual Bool_t HasSameSize(const Variable &rhs) const
Definition Variable.cxx:363
virtual Bool_t IsError() const
Definition Variable.cxx:433
virtual void SetNameTitle(const char *name, const char *descript)
Definition Variable.cxx:532
virtual void Print(Option_t *opt) const
Definition Variable.cxx:495
virtual Bool_t IsVector() const
Definition Variable.cxx:485
VarType GetType() const
Definition Variable.h:29
THaVar * fSelf
Definition Variable.h:59
VarType fType
Definition Variable.h:61
virtual Long64_t GetValueInt(Int_t i=0) const
Definition Variable.cxx:188
virtual size_t GetData(void *buf) const
Definition Variable.cxx:299
const char * GetTypeName() const
Definition Variable.cxx:68
virtual Int_t GetLen() const
Definition Variable.cxx:74
virtual Bool_t IsContiguous() const
Definition Variable.cxx:425
virtual Bool_t IsStreamable() const
Definition Variable.cxx:461
virtual Bool_t IsVarArray() const
Definition Variable.cxx:477
virtual ~Variable()
long long Long64_t