More information on this package is here.
#ifndef __TNT10Reader__
#define __TNT10Reader__
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <unistd.h>
#include "TROOT.h"
#include "TTree.h"
#include "TChain.h"
#include "TChainElement.h"
#include "TFile.h"
#include "TSelector.h"
#include "TBranch.h"
#include "TLeaf.h"
#include "TBrowser.h"
#include "TFriendElement.h"
#include "TSystem.h"
#include "TRegexp.h"
#include "TObject.h"
#include "TString.h"
#include "THbookFile.h"
#include "THbookKey.h"
#include "TVirtualData.h"
#include "TEVNTClass.h"
#include "TECPBClass.h"
#include "TSCPBClass.h"
#include "TDCPBClass.h"
#include "TCCPBClass.h"
#include "TLCPBClass.h"
#include "THEADClass.h"
#include "THEADERClass.h"
#include "TGSIMClass.h"
#include "THLSClass.h"
#include "TS1STClass.h"
#include "TTRGSClass.h"
#include "TVirtualReader.h"
const Int_t k__BUFSIZE__ = 16384;
const Int_t k__SCALER_BUFSIZE__ = 1024;
const Int_t k__COMPRESS__ = 9;
const Int_t k__MAXFILESIZE__ = 2000000000;
class TNT10Reader : public TChain, public TVirtualReader{
public:
THEADERClass *fEvntHeader;
THEADClass *fScalerHead;
TClonesArray *fcaDataPointer;
TClonesArray *fcaEVNTStore;
TClonesArray *fcaECPBStore;
TClonesArray *fcaSCPBStore;
TClonesArray *fcaDCPBStore;
TClonesArray *fcaCCPBStore;
TClonesArray *fcaLCPBStore;
TClonesArray *fcaTGBIStore;
TBranch *fEvntHeaderBranch;
TBranch *fEVNTBranch;
Int_t fnEVNT_Store;
TEVNTClass *fEVNT;
TBranch *fECPBBranch;
Int_t fnECPB_Store;
TECPBClass *fECPB;
TBranch *fSCPBBranch;
Int_t fnSCPB_Store;
TSCPBClass *fSCPB;
TBranch *fDCPBBranch;
Int_t fnDCPB_Store;
TDCPBClass *fDCPB;
TBranch *fCCPBBranch;
Int_t fnCCPB_Store;
TCCPBClass *fCCPB;
TBranch *fLCPBBranch;
Int_t fnLCPB_Store;
TLCPBClass *fLCPB;
TObjArray *fHbookFiles;
Int_t fNRun;
Int_t fNevents;
Int_t fNtLastRead;
Bool_t fReadSequential;
Int_t fNtNum;
public:
static Bool_t fgPawInit;
static Int_t *fgLuns;
Int_t fHbookLun;
TList *fList;
TList *fKeys;
public:
TNT10Reader(const char *name="CLASEVENT",const char *title="CLAS Event Tree from hbook ntuple 10 file.");
~TNT10Reader();
Int_t Add(const char *name,Int_t nentries=TChain::kBigNumber);
Int_t AddFile(const char *name,Int_t nentries=TChain::kBigNumber);
void Browse(TBrowser *b);
Int_t Draw(const char *varexp, const char *selection, Option_t *option="",Int_t nentries=TChain::kBigNumber, Int_t firstentry=0);
TObject *GetBankRow(const Char_t *bankname,Int_t nrow);
Int_t GetCurrentEvent();
GetEntries_return_t GetEntries() const;
GetEntries_return_t GetEntriesFast() const;
Int_t GetEntry(Int_t entry=-1, Int_t getall=0);
Int_t GetEventNumber();
TObjArray *GetFiles(void){return fFiles;};
THEADERClass *GetHEADER(){return(fEvntHeader);};
Int_t GetNPart(){return(GetNRows());};
Int_t GetNRows(const Char_t *bankname="EVNT");
Int_t GetNtrees(void){return fNtrees;};
TVector3 GetPart3Vector(Int_t indx);
Int_t GetPartCharge(Int_t indx);
Int_t GetPartID(Int_t indx);
TVector3 GetPartVertex(Int_t indx);
TString GetReaderType();
Int_t GetRunNumber();
TChain *GetTree(Char_t *treename="EVENT");
Int_t GetTreeNum(void){return fTreeNumber;};
GetEntries_return_t *GetTreeOffset(void){return (GetEntries_return_t*)fTreeOffset;};
Bool_t IsZombie(){return(fHbookLun==0);}
Int_t Next(void);
void PrintEventStatus();
Double_t GetEntriesLoaded(){return fTree->GetEntriesFast();};
Int_t GetNTEntries(void) const;
Bool_t GetPawInit(void){return fgPawInit;};
void Dir(void);
Int_t LoadTree(Int_t entry);
void NTPrint(void);
Int_t SetNtNum(Int_t ntnum=10);
void CleanEventClones(void);
Int_t Close(void);
Double_t Compute_Entries();
Int_t Fill_Tree_from_Paw(void);
void Fill_HEADER(void);
void Fill_EVNT(void);
void Fill_DCPB(void);
void Fill_ECPB(void);
void Fill_SCPB(void);
void Fill_CCPB(void);
void Fill_LCPB(void);
void InitBanks(void);
Int_t InitBranches(void);
void InitClones(void);
Double_t LoadAll(void);
Int_t Open(const char *name);
void SetBranchAddress(const char *bname,void **add);
ClassDef(TNT10Reader,1)
};
#endif
Author: Maurik Holtrop
Last update: ClasTool/ClasBanks:$Name: $:$Id: TNT10Reader.cc,v 1.10 2007/03/01 22:27:00 holtrop Exp $
CopyLeft - This code is freely available.
ROOT Home page - ClasTool Class index - Class Hierarchy - Top of the page