#include "hmdcgeantreader.h"
#include "hgeantmdc.h"
#include "hgeantmaxtrk.h"
#include "hmdcdef.h"
#include "hdebug.h"
#include "hades.h"
#include "hevent.h"
#include "hcategory.h"
#include "hdatasource.h"
#include "hmessagemgr.h"
#include "TDirectory.h"
using namespace std;
ClassImp(HMdcGeantReader)
HMdcGeantReader::HMdcGeantReader(void) {
fEventId = 0;
}
HMdcGeantReader::~HMdcGeantReader(void) {
}
Bool_t HMdcGeantReader::init(void) {
fGeantMdcCat = (HMatrixCategory*)(gHades->getCurrentEvent()
->getCategory(catMdcGeantRaw));
if (!fGeantMdcCat) {
if (!fInputFile) {
t = NULL;
return kFALSE;
}
if (fInputFile->cd("dirSimul")) {
fGeantMdcCat = (HMatrixCategory*)(gDirectory->Get("HGeantMdc"));
fInputFile->cd("..");
} else {
Int_t ini[4] = {6,4,7,MAXTRKMDC};
fGeantMdcCat = new HMatrixCategory("HGeantMdc",4,ini,1.0);
}
gHades->getCurrentEvent()->
addCategory(catMdcGeantRaw,fGeantMdcCat,"Simul");
gHades->getMsg()->info(10,HMessageMgr::DET_MDC,this->GetName(),
"%s(%d,%d,%d,%d) matrix category created for HGeant input",
fGeantMdcCat->getClassName(),
fGeantMdcCat->getSize(0), fGeantMdcCat->getSize(1),
fGeantMdcCat->getSize(2), fGeantMdcCat->getSize(3));
}
if (!fInputFile) {
t = NULL;
return kTRUE;
}
if ((t=(TTree*)fInputFile->Get("T")) == NULL) return kFALSE;
t->SetBranchAddress("HGeantMdc",&fGeantMdcCat);
t->SetBranchStatus("HGeantMdc",kTRUE);
fGeantMdcCat->activateBranch(t,2);
if (gHades->getOutputFile() != NULL) gHades->getOutputFile()->cd();
return kTRUE;
}
Bool_t HMdcGeantReader::execute(void) {
if(t) {
if(t->GetEntry(fEventId)==0) return kFALSE;
}
fEventId++;
return kTRUE;
}
Last change: Sat May 22 13:02:03 2010
Last generated: 2010-05-22 13:02
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.