KaliVeda
Toolkit for HIC analysis
KVEnv Class Reference

Detailed Description

Extension of TEnv to allow the writing of comments in the file.

Created by KVClassFactory on Mon Jan 14 12:23:45 2013 Author: bonnet

Definition at line 18 of file KVEnv.h.

#include <KVEnv.h>

Inheritance diagram for KVEnv:

Classes

class  Value
 

Public Member Functions

 KVEnv (const KVString &name="")
 
void AddCommentLine (const Char_t *line)
 
void AddComments (const Char_t *comments)
 
void ClearComments ()
 
void CopyTable (TEnv &env)
 Copy table of env to this. More...
 
template<typename... Ts>
Value GetValueOf (Ts... args) const
 
Bool_t HasValue (const KVString &val) const
 
template<typename... Ts>
Bool_t HasValue (Ts... args) const
 
void PrintComments ()
 
Int_t WriteFile (const char *fname, EEnvLevel level=kEnvAll) override
 
- Public Member Functions inherited from TEnv
 TEnv (const char *name="")
 
virtual ~TEnv ()
 
Bool_t Defined (const char *name) const
 
virtual const char * GetRcName () const
 
THashListGetTable () const
 
virtual const char * GetValue (const char *name, const char *dflt) const
 
virtual Double_t GetValue (const char *name, Double_t dflt) const
 
virtual Int_t GetValue (const char *name, Int_t dflt) const
 
Bool_t IgnoreDuplicates (Bool_t ignore)
 
TClassIsA () const override
 
virtual TEnvRecLookup (const char *n) const
 
void Print (Option_t *option="") const override
 
virtual void PrintEnv (EEnvLevel level=kEnvAll) const
 
virtual Int_t ReadFile (const char *fname, EEnvLevel level)
 
virtual void Save ()
 
virtual void SaveLevel (EEnvLevel level)
 
virtual void SetRcName (const char *name)
 
virtual void SetValue (const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
 
virtual void SetValue (const char *name, Double_t value)
 
virtual void SetValue (const char *name, EEnvLevel level=kEnvChange)
 
virtual void SetValue (const char *name, Int_t value)
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 
virtual Int_t Compare (const TObject *obj) const
 
virtual void Copy (TObject &object) const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual const char * GetName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
virtual ULong_t Hash () const
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
virtual void Inspect () const
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *vp)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, void *vp)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual Int_t Read (const char *name)
 
virtual void RecursiveRemove (TObject *obj)
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetUniqueID (UInt_t uid)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 

Private Attributes

TList fComments
 

Additional Inherited Members

- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Static Public Member Functions inherited from TEnv
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Constructor & Destructor Documentation

◆ KVEnv()

KVEnv::KVEnv ( const KVString name = "")

The TEnv constructor has a major bug: its behaviour changes depending on whether the current working directory is the user's home directory or not. If the two are not the same, i.e. outside the home directory, the constructor will try to read the file using just the name as given, after failing to find it in the home directory: in this case, when an absolute filename is given, the TEnv constructor succeeds in finding and opening the file. However, if the same code is executed while in the user's home directory (e.g. user launches 'kaliveda', or 'KaliVedaGUI' or 'KaliVedaSim' in her home directory), this does not work!

Here we try to correct this madness.

Definition at line 25 of file KVEnv.cpp.

Member Function Documentation

◆ AddCommentLine()

void KVEnv::AddCommentLine ( const Char_t line)

Add a comment for the current TEnv the line will started with "# " prefix and will be ended with "\n" postfix

Definition at line 70 of file KVEnv.cpp.

◆ AddComments()

void KVEnv::AddComments ( const Char_t comments)

Add comments the comments can contains "\n" character each line contained in the comments will begin with "# " prefix and will be ended with "\n" postfix

Definition at line 89 of file KVEnv.cpp.

◆ ClearComments()

void KVEnv::ClearComments ( )

Definition at line 108 of file KVEnv.cpp.

◆ CopyTable()

void KVEnv::CopyTable ( TEnv env)

Copy table of env to this.

Definition at line 48 of file KVEnv.cpp.

◆ GetValueOf()

template<typename... Ts>
Value KVEnv::GetValueOf ( Ts...  args) const
inline

Given a list of qualifiers and a default return value/type

GetValueOf("XD", "Moon", "Npart").Default("")
GetValueOf("XD", "Moon", "Npart").Default(0)
GetValueOf("XD", "Moon", "Npart").Default(-1.0)
GetValueOf("XD", "Moon", "Npart").Default<KVString>()
GetValueOf("XD", "Moon", "Npart").Default<int>()
GetValueOf("XD", "Moon", "Npart").Default<double>()
ValueType Default(ValueType v=ValueType{}) const
Definition: KVEnv.h:58
Value GetValueOf(Ts... args) const
Definition: KVEnv.h:69
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Definition: KVString.h:73

return the value of

XD.Moon.Npart: [value]
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value

as a const char*, int, double, KVString, int, double, respectively.

Parts of config variable name may be integer values:

GetValueOf("A", 1, "B", 23)

will look for variable

A.1.B.23: [value]

Definition at line 69 of file KVEnv.h.

◆ HasValue() [1/2]

Bool_t KVEnv::HasValue ( const KVString val) const
inline

Definition at line 97 of file KVEnv.h.

◆ HasValue() [2/2]

template<typename... Ts>
Bool_t KVEnv::HasValue ( Ts...  args) const
inline

Definition at line 102 of file KVEnv.h.

◆ PrintComments()

void KVEnv::PrintComments ( )

print comments as they will be written in the file

Definition at line 119 of file KVEnv.cpp.

◆ WriteFile()

Int_t KVEnv::WriteFile ( const char *  fname,
EEnvLevel  level = kEnvAll 
)
overridevirtual

Write first comments associated to the current TEnv Write resourse records to file fname for a certain level. Use level kEnvAll to write all resources. Returns -1 on case of error, 0 in case of success.

Reimplemented from TEnv.

Definition at line 140 of file KVEnv.cpp.

Member Data Documentation

◆ fComments

TList KVEnv::fComments
private

Definition at line 20 of file KVEnv.h.