ROOT logo
HYDRA - THE HADES ANALYSIS PACKAGE » UTIL » HSrcKeeper

class HSrcKeeper: public TNamed

_HADES_CLASS_DESCRIPTION



 HSrcKeeper

 Tool to store source code along root output files.
 REMARK: To work with hadd for histogram merging
 a special hadd version has to be compiled which is linked
 against hydra libs (Dictionary is needed)


 USAGE:

    TFile* out = new TFile(outfile.Data(),"RECREATE");

    HSrcKeeper keeper("hydra","hydra");

    //keeper.addSourceFile("test.C");
    //keeper.addSourceFiles(dir,"\\..*[cCh]+$");         // single files or files matching the regexp inside dir
    keeper.addSourceFilesRecursive(dir,"\\..*[cCh]+$");  // recursive add through all subdir of dir

    //keeper.print(".*",kFALSE); // print all files names (kTRUE: print also source code)
    //keeper.extract(destinationdir,replacedir,".*"); // extract source code matching the regexp to destinationdir, replace replacedir in path names
    // TMacro* m=keeper.getFile(name); // return NULL if nothing was found

    keeper.Write();


    out->Save();
    out->Close();


Function Members (Methods)

public:
HSrcKeeper(const char* name = "", const char* title = "")
virtual~HSrcKeeper()
voidTObject::AbstractMethod(const char* method) const
Bool_taddSourceFile(TString file)
Int_taddSourceFiles(TString dir, TString regexp = "\\..*[cCh]+$")
Int_taddSourceFilesRecursive(TString dir, TString regexp = "\\..*[cCh]+$")
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
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)
voidextract(TString destinationdir, TString replacedir = "", TString regexp = ".*")
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TMacro*getFile(TString name, Bool_t usePath = kTRUE)
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TObjArray&getSource()
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() 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
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tMerge(TCollection* list)
virtual Bool_tTObject::Notify()
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)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidprint(TString regexp = ".*", Bool_t show = kFALSE)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
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)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
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
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
TMacro*newFile(TString fname)

Data Members

protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
TObjArraysource

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HSrcKeeper(const char* name = "", const char* title = "")
~HSrcKeeper(void)
TMacro* newFile(TString fname)
 opens the input source fname
 and creates TMacro by addiding line
 by line the source code. If the soure
 cannot be read Null will be returned
Bool_t addSourceFile(TString file)
 add a single source file. return kFALSE
 if a problems occurs.
Int_t addSourceFiles(TString dir, TString regexp = "\\..*[cCh]+$")
 add all source files matching regexp
 subdir will be ignored. returns the number of
 added files
Int_t addSourceFilesRecursive(TString dir, TString regexp = "\\..*[cCh]+$")
 add all source files of dir and its subdirs matching regexp
 returns the number of added files
void print(TString regexp = ".*", Bool_t show = kFALSE)
 print all files matching regexp (".*" for all files)
 if show==kTRUE the source code is printed too
void extract(TString destinationdir, TString replacedir = "", TString regexp = ".*")
 extracts all matching source file to destination dir. subdirs
 will be created. if replacedir is set the original path of the
 file will be replaced in the beginning of path by ""
TMacro* getFile(TString name, Bool_t usePath = kTRUE)
 get TMacro of file fname. returns 0 if
 the file does not exist in the container
Long64_t Merge(TCollection* list)
TObjArray& getSource()
{return source;}