ROOT logo
Podd » SRC » THaVarList

class THaVarList: public THashList


  THaVarList

  A specialized THashList containing global variables of the
  Hall A analyzer.

  Variables can be added to the list as follows:
  (assumes THaVarList* gHaVars = new THaVarList;)

     Double_t x;
     gHaVars->Define("x","x variable",x);

  or for short
      gHaVars->Define("x",x);

  Likewise for arrays:

      Double_t a[10];
      gHaVars->Define("a[10]","array of doubles",a);

  or
      gHaVars->Define("a[10]",a);

  (Note: Array definitions register only the name before the bracket
  as the variable name; "a" in the example above.  Hence

      gHaVars->Define("a",x)
  and
      gHaVars->Define("a[10]",a)

  result in a name conflict, i.e. the second definition will fail.

  Supported data types are:

     Double_t, Float_t, Long_t, ULong_t, Int_t, UInt_t,
     Short_t, UShort_t, Char_t, Byte_t.

  The type is determined automatically through function overloading.
  Do not specify the type explicitly using casts. Instead, define variables
  with the type you need.

  To get maximum efficiency and accuracy, variables should be Double_t.
  For calculations in THaFormula/THaCut, all data will be promoted to
  double precision anyhow.


Function Members (Methods)

public:
THaVarList()
virtual~THaVarList()
voidTObject::AbstractMethod(const char* method) const
virtual voidTList::Add(TObject* obj)
virtual voidTList::Add(TObject* obj, Option_t* opt)
virtual voidTHashList::AddAfter(const TObject* after, TObject* obj)
virtual voidTHashList::AddAfter(TObjLink* after, TObject* obj)
virtual voidTCollection::AddAll(const TCollection* col)
virtual voidTHashList::AddAt(TObject* obj, Int_t idx)
virtual voidTHashList::AddBefore(const TObject* before, TObject* obj)
virtual voidTHashList::AddBefore(TObjLink* before, TObject* obj)
virtual voidTHashList::AddFirst(TObject* obj)
virtual voidTHashList::AddFirst(TObject* obj, Option_t* opt)
virtual voidTHashList::AddLast(TObject* obj)
virtual voidTHashList::AddLast(TObject* obj, Option_t* opt)
voidTCollection::AddVector(TObject* obj1)
virtual TObject*TList::After(const TObject* obj) const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tTCollection::AssertClass(TClass* cl) const
virtual TObject*TList::At(Int_t idx) const
Float_tTHashList::AverageCollisions() const
virtual TObject*TList::Before(const TObject* obj) const
TIterTCollection::begin() const
virtual voidTCollection::Browse(TBrowser* b)
Int_tTCollection::Capacity() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTHashList::Clear(Option_t* option = "")
virtual TObject*TCollection::Clone(const char* newname = "") const
virtual Int_tTCollection::Compare(const TObject* obj) const
Bool_tTCollection::Contains(const char* name) const
Bool_tTCollection::Contains(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
THaVar*Define(const char* name, const vector<Int_t>& var)
THaVar*Define(const char* name, const vector<UInt_t>& var)
THaVar*Define(const char* name, const vector<Float_t>& var)
THaVar*Define(const char* name, const vector<Double_t>& var)
THaVar*Define(const char* name, const Char_t*& var)
THaVar*Define(const char* name, const char* descript, const vector<Int_t>& var)
THaVar*Define(const char* name, const char* descript, const vector<UInt_t>& var)
THaVar*Define(const char* name, const char* descript, const vector<Float_t>& var)
THaVar*Define(const char* name, const char* descript, const vector<Double_t>& var)
THaVar*Define(const char* name, const Double_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Float_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Long_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const ULong_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Int_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const UInt_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Short_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const UShort_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Char_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Byte_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Double_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Float_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Long_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const ULong_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Int_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const UInt_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Short_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const UShort_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const Byte_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Double_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Float_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Long_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const ULong_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Int_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const UInt_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Short_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const UShort_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Char_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Byte_t& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Double_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Float_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Long_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const ULong_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Int_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const UInt_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Short_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const UShort_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Char_t*& var, const Int_t* count = 0)
THaVar*Define(const char* name, const char* descript, const Byte_t*& var, const Int_t* count = 0)
virtual THaVar*DefineByRTTI(const TString& name, const TString& desc, const TString& def, const void *const obj, TClass *const cl, const char* errloc = "DefineByRTTI")
virtual THaVar*DefineByType(const char* name, const char* desc, const void* loc, VarType type, const Int_t* count, const char* errloc = "DefineByType")
virtual Int_tDefineVariables(const VarDef* list, const char* prefix = "", const char* caller = "")
virtual Int_tDefineVariables(const RVarDef* list, const TObject* obj, const char* prefix = "", const char* caller = "", const char* var_prefix = "")
virtual voidTHashList::Delete(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTCollection::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTCollection::Dump() const
static voidTCollection::EmptyGarbageCollection()
TIterTCollection::end() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual THaVar*Find(const char* name) const
virtual TObject*THashList::FindObject(const char* name) const
virtual TObject*THashList::FindObject(const TObject* obj) const
virtual TObject*TList::First() const
virtual TObjLink*TList::FirstLink() const
static voidTCollection::GarbageCollect(TObject* obj)
static TCollection*TCollection::GetCurrentCollection()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tTCollection::GetEntries() const
virtual const char*TObject::GetIconName() const
virtual Int_tTSeqCollection::GetLast() const
TList*THashList::GetListForObject(const char* name) const
TList*THashList::GetListForObject(const TObject* obj) const
virtual const char*TCollection::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
virtual TObject**TList::GetObjectRef(const TObject* obj) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Int_tTCollection::GetSize() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Int_tTCollection::GrowBy(Int_t delta) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTCollection::Hash() const
virtual Int_tTSeqCollection::IndexOf(const TObject* obj) const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTCollection::IsArgNull(const char* where, const TObject* obj) const
Bool_tTList::IsAscending()
virtual Bool_tTCollection::IsEmpty() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTCollection::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tTCollection::IsOwner() const
virtual Bool_tTCollection::IsSortable() const
virtual Bool_tTSeqCollection::IsSorted() const
Bool_tTObject::IsZombie() const
virtual TObject*TList::Last() const
Int_tTSeqCollection::LastIndex() const
virtual TObjLink*TList::LastLink() const
virtual voidTCollection::ls(Option_t* option = "") const
virtual TIterator*TList::MakeIterator(Bool_t dir = kIterForward) const
virtual TIterator*TCollection::MakeReverseIterator() const
voidTObject::MayNotUse(const char* method) const
Long64_tTSeqCollection::Merge(TCollection* list)
virtual Bool_tTObject::Notify()
static Int_tTSeqCollection::ObjCompare(TObject* a, TObject* b)
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TObject*TCollection::operator()(const char* name) const
TObject&TObject::operator=(const TObject& rhs)
virtual voidTCollection::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTCollection::Print(Option_t* option = "") const
virtual voidTCollection::Print(Option_t* option, Int_t recurse) const
virtual voidTCollection::Print(Option_t* option, const char* wildcard, Int_t recurse = 1) const
virtual voidTCollection::Print(Option_t* option, TPRegexp& regexp, Int_t recurse = 1) const
virtual voidPrintFull(Option_t* opt = "") const
static voidTSeqCollection::QSort(TObject** a, Int_t first, Int_t last)
static voidTSeqCollection::QSort(TObject** a, TObject** b, Int_t first, Int_t last)
static voidTSeqCollection::QSort(TObject** a, Int_t nBs, TObject*** b, Int_t first, Int_t last)
virtual Int_tTObject::Read(const char* name)
virtual voidTHashList::RecursiveRemove(TObject* obj)
voidTHashList::Rehash(Int_t newCapacity)
virtual TObject*THashList::Remove(TObject* obj)
virtual TObject*THashList::Remove(TObjLink* lnk)
virtual voidTSeqCollection::RemoveAfter(TObject* after)
voidTCollection::RemoveAll()
virtual voidTCollection::RemoveAll(TCollection* col)
virtual TObject*TSeqCollection::RemoveAt(Int_t idx)
virtual voidTSeqCollection::RemoveBefore(TObject* before)
virtual voidTSeqCollection::RemoveFirst()
virtual voidTList::RemoveLast()
virtual Int_tRemoveName(const char* name)
virtual Int_tRemoveRegexp(const char* expr, Bool_t wildcard = kTRUE)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTCollection::SetCurrentCollection()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTCollection::SetName(const char* name)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTCollection::SetOwner(Bool_t enable = kTRUE)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidTList::Sort(Bool_t order = kSortAscending)
static voidTCollection::StartGarbageCollection()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidTSeqCollection::UnSort()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTCollection::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTCollection::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTSeqCollection::Changed()
virtual voidTList::DeleteLink(TObjLink* lnk)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TObjLink**TList::DoSort(TObjLink** head, Int_t n)
TObjLink*TList::FindLink(const TObject* obj, Int_t& idx) const
virtual const char*TCollection::GetCollectionEntryName(TObject* entry) const
TObjLink*TList::LinkAt(Int_t idx) const
Bool_tTList::LnkCompare(TObjLink* l1, TObjLink* l2)
voidTObject::MakeZombie()
virtual TObjLink*TList::NewLink(TObject* obj, TObjLink* prev = NULL)
virtual TObjLink*TList::NewOptLink(TObject* obj, Option_t* opt, TObjLink* prev = NULL)
virtual voidTCollection::PrintCollectionEntry(TObject* entry, Option_t* option, Int_t recurse) const
virtual voidTCollection::PrintCollectionHeader(Option_t* option) const

Data Members

protected:
Bool_tTList::fAscending! sorting order (when calling Sort() or for TSortedList)
TObjLink*TList::fCache! cache to speedup sequential calling of Before() and After() functions
TObjLink*TList::fFirst! pointer to first entry in linked list
TObjLink*TList::fLast! pointer to last entry in linked list
TStringTCollection::fNamename of the collection
Int_tTCollection::fSizenumber of elements in collection
Bool_tTSeqCollection::fSortedtrue if collection has been sorted
THashTable*THashList::fTableHashtable used for quick lookup of objects

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

THaVarList()
 Default constructor
~THaVarList()
 Destructor
THaVar* DefineByType(const char* name, const char* desc, const void* loc, VarType type, const Int_t* count, const char* errloc = "DefineByType")
 Define a global variable with given type.
 Duplicate names are not allowed; if a name already exists, return 0
THaVar* DefineByRTTI(const TString& name, const TString& desc, const TString& def, const void *const obj, TClass *const cl, const char* errloc = "DefineByRTTI")
 Define variable via its ROOT RTTI
Int_t DefineVariables(const VarDef* list, const char* prefix = "", const char* caller = "")
 Add all variables specified in 'list' to the list. 'list' is a C-style
 structure defined in VarDef.h and must be terminated with a NULL name.

 Allows definition of:
    scalers
    fixed size arrays
    variable size arrays
    fixed size arrays of pointers
    variable size arrays of pointers
 Data can be anywhere in memory, typically in member variables.
 Data type must be specified explicitly. To use the ROOT RTTI features
 to determine data types (and arrays sizes etc.) automatically, or
 to access data in member ROOT objects, use the second form of this
 method.

 The names of all newly created variables will be prefixed with 'prefix',
 if given.  Error messages will include 'caller', if given.
 Output a warning if a name already exists.  Return values >0 indicate the
 number of variables defined, <0 indicate errors (no variables defined).
Int_t DefineVariables(const RVarDef* list, const TObject* obj, const char* prefix = "", const char* caller = "", const char* var_prefix = "")
 Add all variables specified in 'list' to the list. 'list' is a C-style
 structure defined in VarDef.h and must be terminated with a NULL name.

 Allows definition of:
    scalers
    fixed size arrays
    variable size arrays

 Data must be persistent ROOT data members or accessible via
 member functions. They can be member variables, member variables
 of member ROOT objects, or member variables of ROOT objects
 contained in member ROOT containers derived from TSeqCollection.

 The names of all newly created variables will be prefixed with 'prefix',
 if given.  Error messages will include 'caller', if given.
 Output a warning if a name already exists.  Return values >0 indicate the
 number of variables defined, <0 indicate errors (no variables defined).
THaVar* Find(const char* name) const
 Find a variable in the list.  If 'name' has array syntax ("var[3]"),
 the search is performed for the array basename ("var").
void PrintFull(Option_t* opt = "") const
 Print variable names, descriptions, and data.
 Identical to Print() except that variable data is also printed.
 Supports selection of subsets of variables via 'option'.
 E.g.: option="var*" prints only variables whose names start with "var".
Int_t RemoveName(const char* name)
 Delete the variable with the given name from the list.
 Returns 1 if variable was deleted, 0 is it wasn't in the list.

 Note: This differs from TList::Remove(), which doesn't delete the
 element itself.
Int_t RemoveRegexp(const char* expr, Bool_t wildcard = kTRUE)
 Delete all variables matching regular expression 'expr'. If 'wildcard'
 is true, the more user-friendly wildcard format is used (see TRegexp).
 Returns number of variables removed, or <0 if error.
THaVar* Define(const char* name, const char* descript, const Double_t& var, const Int_t* count = 0)
 Define() with reference to variable
{ return DefineByType( name, descript, &var, kDouble, count ); }
THaVar* Define(const char* name, const char* descript, const Float_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kFloat, count ); }
THaVar* Define(const char* name, const char* descript, const Long_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kLong, count ); }
THaVar* Define(const char* name, const char* descript, const ULong_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kULong, count ); }
THaVar* Define(const char* name, const char* descript, const Int_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kInt, count ); }
THaVar* Define(const char* name, const char* descript, const UInt_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kUInt, count ); }
THaVar* Define(const char* name, const char* descript, const Short_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kShort, count ); }
THaVar* Define(const char* name, const char* descript, const UShort_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kUShort, count ); }
THaVar* Define(const char* name, const char* descript, const Char_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kChar, count ); }
THaVar* Define(const char* name, const char* descript, const Byte_t& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kByte, count ); }
THaVar* Define( const char* name, const char* descript, const std::vector<Int_t>& var )
{ return DefineByType( name, descript, &var, kIntV, 0 ); }
THaVar* Define( const char* name, const char* descript, const std::vector<UInt_t>& var )
{ return DefineByType( name, descript, &var, kUIntV, 0 ); }
THaVar* Define( const char* name, const char* descript, const std::vector<Float_t>& var )
{ return DefineByType( name, descript, &var, kFloatV, 0 ); }
THaVar* Define( const char* name, const char* descript, const std::vector<Double_t>& var )
{ return DefineByType( name, descript, &var, kDoubleV, 0 ); }
THaVar* Define(const char* name, const Double_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Float_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Long_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const ULong_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Int_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const UInt_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Short_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const UShort_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Char_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Byte_t& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const std::vector<Int_t>& var )
{ return Define( name, name, var ); }
THaVar* Define( const char* name, const std::vector<UInt_t>& var )
{ return Define( name, name, var ); }
THaVar* Define( const char* name, const std::vector<Float_t>& var )
{ return Define( name, name, var ); }
THaVar* Define( const char* name, const std::vector<Double_t>& var )
{ return Define( name, name, var ); }
THaVar* Define(const char* name, const char* descript, const Double_t*& var, const Int_t* count = 0)
 Define() with pointer to variable
{ return DefineByType( name, descript, &var, kDoubleP, count ); }
THaVar* Define(const char* name, const char* descript, const Float_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kFloatP, count ); }
THaVar* Define(const char* name, const char* descript, const Long_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kLongP, count ); }
THaVar* Define(const char* name, const char* descript, const ULong_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kULongP, count ); }
THaVar* Define(const char* name, const char* descript, const Int_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kIntP, count ); }
THaVar* Define(const char* name, const char* descript, const UInt_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kUIntP, count ); }
THaVar* Define(const char* name, const char* descript, const Short_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kShortP, count ); }
THaVar* Define(const char* name, const char* descript, const UShort_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kUShortP, count ); }
THaVar* Define(const char* name, const char* descript, const Char_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kCharP, count ); }
THaVar* Define(const char* name, const char* descript, const Byte_t*& var, const Int_t* count = 0)
{ return DefineByType( name, descript, &var, kByteP, count ); }
THaVar* Define(const char* name, const Double_t*& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Float_t*& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Long_t*& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const ULong_t*& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Int_t*& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const UInt_t*& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Short_t*& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const UShort_t*& var, const Int_t* count = 0)
Avoid ambiguity - cannot specify variable length char array like this
Must use the form with description
{ return Define( name, name, var, count ); }
THaVar* Define(const char* name, const Char_t*& var)
{ return Define( name, name, var ); }
THaVar* Define(const char* name, const Byte_t*& var, const Int_t* count = 0)
{ return Define( name, name, var, count ); }