00001 #ifndef gnumiinterface_h
00002 #define gnumiinterface_h
00003 #include "TFile.h"
00004 #include "TTree.h"
00005 #include <map>
00006 #include <string>
00007
00008 class NtpMCRecord;
00009 class NtpStRecord;
00010 class NuParent;
00011 class ANtpTruthInfoBeam;
00012
00013 class GnumiInterface
00014 {
00015
00016 private:
00017
00018 std::map<int,TFile*> fFile;
00019 std::map<int,TTree*> fTree;
00020 std::string fdir;
00021 Bool_t OpenFiles();
00022 void SetAddresses();
00023 void CloseFiles();
00024
00025 Bool_t fok;
00026
00027 Int_t fRunNum;
00028 Int_t fEvtNum;
00029 Float_t fX;
00030 Float_t fY;
00031 Float_t fZ;
00032 Float_t fPX;
00033 Float_t fPY;
00034 Float_t fPZ;
00035 Int_t fPID;
00036 Int_t fGen;
00037
00038 public:
00039
00040 GnumiInterface();
00041 ~GnumiInterface();
00042 Bool_t SetFileDir(std::string);
00043 Bool_t Status() const {return fok;};
00044 void GetParent(NtpMCRecord *,int,NuParent&);
00045 void GetParent(NtpStRecord *,int,NuParent&);
00046 void GetParent(Int_t,Int_t,Int_t,Int_t,NuParent&);
00047 void FillANtpTruth(Int_t,Int_t,Int_t,Int_t,ANtpTruthInfoBeam&);
00048 void FillANtpTruth(NtpMCRecord *,int,ANtpTruthInfoBeam&);
00049 void FillANtpTruth(NtpStRecord *,int,ANtpTruthInfoBeam&);
00050
00051 };
00052 #endif