File indexing completed on 2026-04-10 07:50:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #include "U4App.h"
0011
0012 int main(int argc, char** argv)
0013 {
0014 OPTICKS_LOG(argc, argv);
0015
0016
0017
0018
0019
0020
0021
0022
0023 U4Random* rnd = U4Random::Create() ;
0024 LOG(info) << rnd->desc() ;
0025
0026 std::string desc = U4App::Desc();
0027 LOG(info) << " desc " << desc ;
0028 SEventConfig::SetEventReldir(desc.c_str() );
0029
0030 SEventConfig::SetDebugLite();
0031 SEvt* evt = SEvt::Create(SEvt::EGPU) ;
0032
0033 const char* outdir = evt->getDir();
0034 LOG(info) << "outdir [" << outdir << "]" ;
0035 LOG(info) << " desc [" << desc << "]" ;
0036
0037 evt->random = rnd ;
0038
0039 #ifdef WITH_OLD_FRAME
0040 sframe fr = sframe::Load_("$A_FOLD/sframe.npy");
0041 evt->setFrame(fr);
0042 #else
0043 sfr fr = sfr::Load_("$A_FOLD/sfr.npy");
0044 evt->setFr(fr);
0045 #endif
0046
0047
0048
0049
0050
0051
0052 if(U4App::PrimaryMode() == 'T') SEvt::AddTorchGenstep();
0053
0054 if(ssys::getenvbool("DRYRUN"))
0055 {
0056 LOG(fatal) << " DRYRUN early exit " ;
0057 return 0 ;
0058 }
0059
0060 G4RunManager* runMgr = new G4RunManager ;
0061 runMgr->SetUserInitialization((G4VUserPhysicsList*)new U4Physics);
0062 U4App t(runMgr) ;
0063 runMgr->BeamOn(1);
0064
0065
0066 rnd->saveProblemIdx(outdir);
0067
0068 evt->save();
0069 LOG(info) << "outdir [" << outdir << "]" ;
0070 LOG(info) << " desc [" << desc << "]" ;
0071
0072 return 0 ;
0073 }