class THaVarList: public TList


  THaVarList

  A specialized TList 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 voidTList::AddAfter(const TObject* after, TObject* obj)
virtual voidTList::AddAfter(TObjLink* after, TObject* obj)
virtual voidTCollection::AddAll(const TCollection* col)
virtual voidTList::AddAt(TObject* obj, Int_t idx)
virtual voidTList::AddBefore(const TObject* before, TObject* obj)
virtual voidTList::AddBefore(TObjLink* before, TObject* obj)
virtual voidTList::AddFirst(TObject* obj)
virtual voidTList::AddFirst(TObject* obj, Option_t* opt)
virtual voidTList::AddLast(TObject* obj)
virtual voidTList::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
virtual TObject*TList::Before(const TObject* obj) const
virtual voidTCollection::Browse(TBrowser* b)
Int_tTCollection::Capacity() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* opt = "")
virtual TObject*TObject::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 Char_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 = "")
virtual THaVar*DefineByType(const char* name, const char* desc, const void* loc, VarType type, const Int_t* count)
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 voidTList::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()
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*TList::FindObject(const char* name) const
virtual TObject*TList::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 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)
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* wildcard = "") const
virtual voidTCollection::Print(Option_t* wildcard, Option_t* option) 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)
virtual Int_tTObject::Read(const char* name)
virtual voidTList::RecursiveRemove(TObject* obj)
virtual TObject*TList::Remove(TObject* obj)
virtual TObject*TList::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 voidTSeqCollection::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(basic_ostream<char,char_traits<char> >& 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& insp, char* parent)
virtual voidTList::Sort(Bool_t order = kSortAscending)
static voidTCollection::StartGarbageCollection()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& 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
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)

Data Members

public:
enum TCollection::[unnamed] { kIsOwner
kInitCapacity
kInitHashTableCapacity
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
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

Class Charts

Inheritance Chart:
TList
THaVarList

Function documentation

void Clear(Option_t* opt = "")
 Remove all variables from the list.
THaVar* DefineByType(const char* name, const char* desc, const void* loc, VarType type, const Int_t* count)
 Define a global variable with given type.
 Duplicate names are not allowed; if a name already exists, return NULL
THaVar* DefineByRTTI(const TString& name, const TString& desc, const TString& def, const void *const obj, TClass *const cl, const char* errloc = "")
 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)
 Remove a variable from the list
 Since each name is unique, we only have to find it once
 Returns 1 if variable was deleted, 0 is it wasn't in the list
Int_t RemoveRegexp(const char* expr, Bool_t wildcard = kTRUE)
 Remove 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.
THaVarList()
{}
virtual ~THaVarList()
{ Clear(); }
THaVar* Define( const char* name, const char* descript, const Double_t& var, const Int_t* count=NULL )
 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=NULL )
{ return DefineByType( name, descript, &var, kFloat, count ); }
THaVar* Define( const char* name, const char* descript, const Long_t& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kLong, count ); }
THaVar* Define( const char* name, const char* descript, const ULong_t& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kULong, count ); }
THaVar* Define( const char* name, const char* descript, const Int_t& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kInt, count ); }
THaVar* Define( const char* name, const char* descript, const UInt_t& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kUInt, count ); }
THaVar* Define( const char* name, const char* descript, const Short_t& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kShort, count ); }
THaVar* Define( const char* name, const char* descript, const UShort_t& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kUShort, count ); }
THaVar* Define( const char* name, const char* descript, const Char_t& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kChar, count ); }
THaVar* Define( const char* name, const char* descript, const Byte_t& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kByte, count ); }
THaVar* Define( const char* name, const Double_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Float_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Long_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const ULong_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Int_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const UInt_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Short_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const UShort_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Char_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Byte_t& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const char* descript, const Double_t*& var, const Int_t* count=NULL )
 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=NULL )
{ return DefineByType( name, descript, &var, kFloatP, count ); }
THaVar* Define( const char* name, const char* descript, const Long_t*& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kLongP, count ); }
THaVar* Define( const char* name, const char* descript, const ULong_t*& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kULongP, count ); }
THaVar* Define( const char* name, const char* descript, const Int_t*& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kIntP, count ); }
THaVar* Define( const char* name, const char* descript, const UInt_t*& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kUIntP, count ); }
THaVar* Define( const char* name, const char* descript, const Short_t*& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kShortP, count ); }
THaVar* Define( const char* name, const char* descript, const UShort_t*& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kUShortP, count ); }
THaVar* Define( const char* name, const char* descript, const Char_t*& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kCharP, count ); }
THaVar* Define( const char* name, const char* descript, const Byte_t*& var, const Int_t* count=NULL )
{ return DefineByType( name, descript, &var, kByteP, count ); }
THaVar* Define( const char* name, const Double_t*& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Float_t*& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Long_t*& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const ULong_t*& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Int_t*& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const UInt_t*& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const Short_t*& var, const Int_t* count=NULL )
{ return Define( name, name, var, count ); }
THaVar* Define( const char* name, const UShort_t*& var, const Int_t* count=NULL )
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=NULL )
{ return Define( name, name, var, count ); }

Last change: Sat Nov 7 21:26:56 2009
Last generated: 2009-11-07 21:26

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.