/////////////////////////////////////////////////////////////////////////////// // open RZ files or ROOT file for GEANT ntuples (or ROOT tree) // // modified on 25/11/04 by R.Holzmann // last modified on 13/02/2014 by I. Koenig /////////////////////////////////////////////////////////////////////////////// #include "geantdef.h" #include "cfortran.h" #include "hbook.h" #include "hgeantinput.h" #include "hgeahropen.h" #include "hgeantmedia.h" #include using namespace std; #define NOUSER 10 struct RZT_DEF { int nrztfiles; int ifileun[NOUSER]; }; #define RZTUNITS COMMON_BLOCK(RZTUNITS,rztunits) COMMON_BLOCK_DEF(RZT_DEF,RZTUNITS); // MEDIA Common Block #define NMAXCHAR 200 #define MEDMAXNO 100 struct MEDIA_DEF { int ndefmedia; char mediumname[MEDMAXNO][NMAXCHAR]; int mediumindex[MEDMAXNO]; }; #define GEAMEDIA COMMON_BLOCK(GEAMEDIA,geamedia) COMMON_BLOCK_DEF(MEDIA_DEF,GEAMEDIA); void hGeaRootOpen(char*, char*, int); void hgeahropen(int ikey[NOUSER], int* nRoot, int* nTup) { extern HGeantInput geantInput; TString users[NOUSER]= {"rich","mdc","tof","show","rpc","kine","user","wall","emc","start"}; int iFile=30; static int lrecl=1024; int istat; int iLoc=0; int rootNoFiles = geantInput.getRootNoFiles(); for (int j=0;j0) s=s.Remove(0,sp+1); // remove path if (s.Contains(users[j])) { ok = 1; // geom file exists for this detector break; } else ok = 0; } } if ((ok == 1) && name.Contains(users[j])) { */ for (int j=0;j