ROOT logo
using namespace std;
#include "hsimulgeantreader.h"
#include "hgeantheader.h"
#include "hdebug.h"
#include "hades.h"
#include "hevent.h"
#include "hrecevent.h"
#include "hpartialevent.h"
#include "hlinearcategory.h"
#include "TDirectory.h"
#include <iostream> 
#include <iomanip>

//*-- Author : R. Holzmann
//*-- Modified: 17/02/2000 by R. Holzmann

//_HADES_CLASS_DESCRIPTION 
////////////////////////////////////////////
//  HSimulGeantReader for HGeant Root event
//
//  connect complete event + simul header
////////////////////////////////////////////

ClassImp(HSimulGeantReader)

HSimulGeantReader::HSimulGeantReader(void) {
  fEventId = 0;
}

HSimulGeantReader::~HSimulGeantReader(void) {
}


Bool_t HSimulGeantReader::init(void) {
//  Set up event and HGeant input tree
//
  fEventId = 0;
  if (fInputFile == NULL) {
     t = NULL;
     return kFALSE;   // no input file !
  }

  fSimEv = (HRecEvent*)fInputFile->Get("Event");  // read event definition
  gHades->setEvent(fSimEv);

  if ((t = (TTree*)fInputFile->Get("T")) == NULL) return kFALSE;

  gHades->activateTree(t);  // this should connect everything, but does not
                            // therefore we need to handle the header extra...

  HGeantHeader* fSimHead=(HGeantHeader*)(fSimEv->getPartialEvent(catSimul)
                                               ->getSubHeader());
  if(fSimHead == NULL) {
     fSimEv->getPartialEvent(catSimul)->setSubHeader(new HGeantHeader());
     fSimHead = (HGeantHeader*)(fSimEv->getPartialEvent(catSimul)
                                      ->getSubHeader());
  }
  t->SetBranchAddress("Simul.Header",&fSimHead);  // connect header explicitly
  t->SetBranchStatus("Simul.Header",1);

  if (gHades->getOutputFile() != NULL) gHades->getOutputFile()->cd();
  return kTRUE;
}


Bool_t HSimulGeantReader::execute(void) {
//  Read one entry from tree
//
  if(t) {   // input tree does exist
     if(t->GetEntry(fEventId)==0) return kFALSE;  // read 1 entry from tree
  }

  fEventId++;

  return kTRUE;  // return type is Bool_t
}




 hsimulgeantreader.cc:1
 hsimulgeantreader.cc:2
 hsimulgeantreader.cc:3
 hsimulgeantreader.cc:4
 hsimulgeantreader.cc:5
 hsimulgeantreader.cc:6
 hsimulgeantreader.cc:7
 hsimulgeantreader.cc:8
 hsimulgeantreader.cc:9
 hsimulgeantreader.cc:10
 hsimulgeantreader.cc:11
 hsimulgeantreader.cc:12
 hsimulgeantreader.cc:13
 hsimulgeantreader.cc:14
 hsimulgeantreader.cc:15
 hsimulgeantreader.cc:16
 hsimulgeantreader.cc:17
 hsimulgeantreader.cc:18
 hsimulgeantreader.cc:19
 hsimulgeantreader.cc:20
 hsimulgeantreader.cc:21
 hsimulgeantreader.cc:22
 hsimulgeantreader.cc:23
 hsimulgeantreader.cc:24
 hsimulgeantreader.cc:25
 hsimulgeantreader.cc:26
 hsimulgeantreader.cc:27
 hsimulgeantreader.cc:28
 hsimulgeantreader.cc:29
 hsimulgeantreader.cc:30
 hsimulgeantreader.cc:31
 hsimulgeantreader.cc:32
 hsimulgeantreader.cc:33
 hsimulgeantreader.cc:34
 hsimulgeantreader.cc:35
 hsimulgeantreader.cc:36
 hsimulgeantreader.cc:37
 hsimulgeantreader.cc:38
 hsimulgeantreader.cc:39
 hsimulgeantreader.cc:40
 hsimulgeantreader.cc:41
 hsimulgeantreader.cc:42
 hsimulgeantreader.cc:43
 hsimulgeantreader.cc:44
 hsimulgeantreader.cc:45
 hsimulgeantreader.cc:46
 hsimulgeantreader.cc:47
 hsimulgeantreader.cc:48
 hsimulgeantreader.cc:49
 hsimulgeantreader.cc:50
 hsimulgeantreader.cc:51
 hsimulgeantreader.cc:52
 hsimulgeantreader.cc:53
 hsimulgeantreader.cc:54
 hsimulgeantreader.cc:55
 hsimulgeantreader.cc:56
 hsimulgeantreader.cc:57
 hsimulgeantreader.cc:58
 hsimulgeantreader.cc:59
 hsimulgeantreader.cc:60
 hsimulgeantreader.cc:61
 hsimulgeantreader.cc:62
 hsimulgeantreader.cc:63
 hsimulgeantreader.cc:64
 hsimulgeantreader.cc:65
 hsimulgeantreader.cc:66
 hsimulgeantreader.cc:67
 hsimulgeantreader.cc:68
 hsimulgeantreader.cc:69
 hsimulgeantreader.cc:70
 hsimulgeantreader.cc:71
 hsimulgeantreader.cc:72
 hsimulgeantreader.cc:73
 hsimulgeantreader.cc:74
 hsimulgeantreader.cc:75
 hsimulgeantreader.cc:76
 hsimulgeantreader.cc:77
 hsimulgeantreader.cc:78
 hsimulgeantreader.cc:79
 hsimulgeantreader.cc:80