ROOT logo
#ifndef HGEANTMERGESOURCE_H
#define HGEANTMERGESOURCE_H

#include "hdatasource.h"
#include "hrootsource.h"
#include "hparallelevent.h"
#include "haddef.h"
#include "hgeantdef.h"
#include "TFile.h"
#include "TChain.h"
#include "TTree.h"
#include <map>
#include "TString.h"
#include "TEventList.h"


class HRecEvent;

class HGeantMergeSource : public HRootSource {
protected:

    vector<HParallelEvent*>  fAdditionalInputs;

public:
    HGeantMergeSource(Bool_t fPersistent=kTRUE, Bool_t fMerge=kFALSE);
    ~HGeantMergeSource(void);
    virtual EDsState getNextEvent(Bool_t doUnpack=kTRUE);  // hdatasource
    virtual Bool_t   getEvent(Int_t eventN);               // hrootsource
    virtual void     Clear(void);                          // hrootsource

    Bool_t   init(void);                     // hdatasource
    Bool_t   reinit(void)  { return kTRUE;}  // hdatasource
    Bool_t   finalize(void) {return kTRUE;}  // hdatasource


    Bool_t   addFile(const Text_t file[],Bool_t print=kTRUE);
    Bool_t   addMultFiles(TString commaSeparatedList);
    Bool_t   addAdditionalInput(TString filename,Bool_t print=kTRUE);
    Bool_t   createGeantEvent(HRecEvent* fCurrentEvent);

    ClassDef(HGeantMergeSource,1) //Data source to read Root files.
};

#endif /* !HGEANTMERGESOURCE_H */


 hgeantmergesource.h:1
 hgeantmergesource.h:2
 hgeantmergesource.h:3
 hgeantmergesource.h:4
 hgeantmergesource.h:5
 hgeantmergesource.h:6
 hgeantmergesource.h:7
 hgeantmergesource.h:8
 hgeantmergesource.h:9
 hgeantmergesource.h:10
 hgeantmergesource.h:11
 hgeantmergesource.h:12
 hgeantmergesource.h:13
 hgeantmergesource.h:14
 hgeantmergesource.h:15
 hgeantmergesource.h:16
 hgeantmergesource.h:17
 hgeantmergesource.h:18
 hgeantmergesource.h:19
 hgeantmergesource.h:20
 hgeantmergesource.h:21
 hgeantmergesource.h:22
 hgeantmergesource.h:23
 hgeantmergesource.h:24
 hgeantmergesource.h:25
 hgeantmergesource.h:26
 hgeantmergesource.h:27
 hgeantmergesource.h:28
 hgeantmergesource.h:29
 hgeantmergesource.h:30
 hgeantmergesource.h:31
 hgeantmergesource.h:32
 hgeantmergesource.h:33
 hgeantmergesource.h:34
 hgeantmergesource.h:35
 hgeantmergesource.h:36
 hgeantmergesource.h:37
 hgeantmergesource.h:38
 hgeantmergesource.h:39
 hgeantmergesource.h:40
 hgeantmergesource.h:41
 hgeantmergesource.h:42
 hgeantmergesource.h:43
 hgeantmergesource.h:44
 hgeantmergesource.h:45
 hgeantmergesource.h:46