ROOT logo
HYDRA - THE HADES ANALYSIS PACKAGE » DATASOURCE » HGeantMergeSource

class HGeantMergeSource: public HRootSource

_HADES_CLASS_DESCRIPTION

 HGeantMergeSource

 This data source can read data from a ROOT file generated by
 HGEANT. N root files can be read in parallel and the content
 of HGeantKine + geant detector hit categories will be merged
 into one event. If only 1 input file is used the source behaves
 like a standard HRootSource.

 Methods :
 I.   addFile()
      + n file addAdditionalInput()
 II.  addMultFiles(TString comma_separated_List)

 The first input file will create the event struture
 and the content of the other inputs will be merged into
 this event. Take the file with largest content first!

Function Members (Methods)

public:
HGeantMergeSource(const HGeantMergeSource&)
HGeantMergeSource(Bool_t fPersistent = kTRUE, Bool_t fMerge = kFALSE)
virtual~HGeantMergeSource()
voidTObject::AbstractMethod(const char* method) const
Bool_taddAdditionalInput(TString filename, Bool_t print = kTRUE)
Bool_taddFile(const Text_t* file, Bool_t print = kTRUE)
Bool_taddMultFiles(TString commaSeparatedList)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Bool_tcreateGeantEvent(HRecEvent* fCurrentEvent)
voidHRootSource::deactivateBranch(const Text_t* branchName)
virtual voidTObject::Delete(Option_t* option = "")MENU
Bool_tHRootSource::disableCategory(Cat_t aCat)
Bool_tHRootSource::disablePartialEvent(Cat_t aCat)
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)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidHDataSource::forceID(Int_t id)
TChain*HRootSource::getChain()
virtual const Text_t*HRootSource::getCurrentFileName()
virtual Int_tHRootSource::getCurrentRefId()
virtual Int_tHRootSource::getCurrentRunId()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Bool_tgetEvent(Int_t eventN)
Int_tHRootSource::getGlobalRefId()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual EDsStategetNextEvent(Bool_t doUnpack = kTRUE)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tHRootSource::getSplitLevel()
virtual const char*TObject::GetTitle() const
TTree*HRootSource::getTree()
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::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 Bool_tinit()
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_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
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)
HGeantMergeSource&operator=(const HGeantMergeSource&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidHRootSource::Print()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_treinit()
voidHRootSource::replaceHeaderVersion(Int_t vers, Bool_t replace = kTRUE)
voidTObject::ResetBit(UInt_t f)
virtual Bool_tHRootSource::rewind()
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)
voidHRootSource::setCurrentRunId(Int_t id)
virtual voidHRootSource::setCursorToPreviousEvent()
voidHRootSource::setDirectory(const Text_t* dirName)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHDataSource::setEventAddress(HEvent** ev)
voidHRootSource::setEventList(TEventList* el)
voidHRootSource::setGlobalRefId(Int_t refId)
Bool_tHRootSource::setInput(const Text_t* fileName, const Text_t* treeName)
static voidTObject::SetObjectStat(Bool_t stat)
voidHRootSource::setRefId(Int_t runId, Int_t refId)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual EDsStateHRootSource::skipEvents(Int_t nEv)
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
Bool_tHRootSource::fileExists(const TString& name)
virtual TFile*HRootSource::getFile(TString name)
virtual TStringHRootSource::getFileName(const Text_t* file)
voidTObject::MakeZombie()

Data Members

protected:
vector<HParallelEvent*>fAdditionalInputs
Int_tHRootSource::fCurrentRefId
Int_tHRootSource::fCurrentRunId
Int_tHRootSource::fCursorNumber of next event.
TStringHRootSource::fDirectory
Stat_tHRootSource::fEntries
HEvent**HDataSource::fEventAddr! Address of the event to fill
HEvent*HRootSource::fEventInFile! Pointer to the event structure in file
TEventList*HRootSource::fEventList
Int_tHDataSource::fForcedID! (default =-1, not used, any other value between 1-15 will replace the ID in the eventheader!)
Int_tHRootSource::fGlobalRefId
TChain*HRootSource::fInputTTree to be read.
Int_tHRootSource::fLastRunId! last run number (needed to detect switch to new run)
Bool_tHRootSource::fMerge
Bool_tHRootSource::fPersistency
map<Int_t,Int_t>HRootSource::fRefIds!
Int_tHRootSource::fSplitLevelSplit level of input tree
Bool_tHRootSource::overwriteVersion! flag for modifying version
Int_tHRootSource::replaceVersion! value for replacing version is overwriteVersion=kTRUE

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HGeantMergeSource(Bool_t fPersistent = kTRUE, Bool_t fMerge = kFALSE)
 for fPers==kFALSE, input cats are suppressed in output
 for fMerg==kTRUE, partial events in input tree are merged into current
 event, if it exists already at init().
~HGeantMergeSource(void)
Class destructor, it clears the data source.
Bool_t createGeantEvent(HRecEvent* fCurrentEvent)
Bool_t init(void)
 Initializes the data source connecting the parts of the input tree in
 the input ROOT file to the event structure used for the analysis. If
 no event structure has been set by the user, HGeantMergeSource::init() will
 set one read from the input file. If it exists, it will be used as such
 (fMerge==kFALSE) or merged with the one in the input file (fMerge==kTRUE).
EDsState getNextEvent(Bool_t doUnpack = kTRUE)
Retrieves next event in the input file.
Bool_t getEvent(Int_t eventN)
Retrieves event in position eventN in the input file, copying the
information to the event structure.
void Clear(void)
Closes the input file.
Bool_t addFile(const Text_t* file, Bool_t print = kTRUE)
Bool_t addMultFiles(TString commaSeparatedList)
 set multiple paralellel input files format :
 "file1_with_path,file2_with_path,file3_with_path"
 the first file will be set a standard input. the content
 of the other files will copied into the event of file1.
 for performance reasons the file with the biggest event
 should be set as first file.
Bool_t addAdditionalInput(TString filename, Bool_t print = kTRUE)
HGeantMergeSource(Bool_t fPersistent = kTRUE, Bool_t fMerge = kFALSE)
Bool_t reinit(void)
{ return kTRUE;}
Bool_t finalize(void)
{return kTRUE;}