42 #include "doiPETDetectorConstruction.hh" 43 #include "doiPETPhysicsList.hh" 44 #include "doiPETAnalysis.hh" 45 #include "doiPETActionInitialization.hh" 47 #include "Randomize.hh" 48 #include "G4UImanager.hh" 49 #include "G4VisExecutive.hh" 50 #include "G4UIExecutive.hh" 51 #include "G4SystemOfUnits.hh" 53 #ifdef G4MULTITHREADED 54 #include "G4MTRunManager.hh" 56 #include "G4RunManager.hh" 61 int main(
int argc,
char** argv)
64 G4Random::setTheEngine(
new CLHEP::RanecuEngine);
66 #ifdef G4MULTITHREADED 68 G4MTRunManager* runManager =
new G4MTRunManager;
69 runManager->SetNumberOfThreads(4);
72 G4RunManager* runManager =
new G4RunManager;
75 runManager->SetUserInitialization(
new doiPETDetectorConstruction);
77 runManager->SetUserInitialization(
new doiPETPhysicsList);
80 runManager->SetUserInitialization(
new doiPETActionInitialization());
83 doiPETAnalysis* ptrAnalysis = doiPETAnalysis::GetInstance();
86 G4double act = 1000000 * becquerel;
87 ptrAnalysis->SetActivity(act);
89 G4double halfLife = 109.771 * 60 * s;
90 ptrAnalysis -> SetIsotopeHalfLife(halfLife);
93 ptrAnalysis -> BlurringParameters();
96 ptrAnalysis->Open(
"result");
100 ptrAnalysis -> PMTPosition();
102 ptrAnalysis->ReadReflectorPattern();
105 G4UImanager* UI = G4UImanager::GetUIpointer();
112 G4String command =
"/control/execute ";
114 UI->ApplyCommand(command+fileName);
119 G4VisManager* visManager =
new G4VisExecutive;
120 visManager->Initialize();
122 G4UIExecutive * ui =
new G4UIExecutive(argc,argv);
131 ptrAnalysis->Close();
132 ptrAnalysis->Delete();
int main(int argc, char **argv)