4 const double beam_X0 = 0.0,
const double beam_Y0 = 0.0,
5 const double target_Z0 = 0.0,
const double beam_width_sigma_X = 0.0,
6 const double beam_width_sigma_Y = 0.0,
7 const double target_width_Z = 0.0,
8 const double beam_grad_X = 0.0,
const double beam_grad_Y = 0.0,
9 const double beam_grad_sigma_X = 0.0,
const double beam_grad_sigma_Y = 0.0,
10 const TString lmd_geometry_filename =
"Luminosity-Detector.root",
30 FairRunSim *
fRun =
new FairRunSim();
33 fRun->SetName(
"TGeant4");
35 fRun->SetOutputFile(simOutput);
38 fRun->SetMaterials(
"media_pnd.geo");
40 fRun->SetGenerateRunInfo(
false);
41 fRun->SetUseFairLinks(
true);
46 Cave->SetGeometryFileName(
"pndcave.geo");
47 fRun->AddModule(Cave);
51 Magnet->SetGeometryFileName(
"FullSuperconductingSolenoid_v831.root");
52 fRun->AddModule(Magnet);
65 Dipole->SetGeometryFileName(
"dipole.geo");
66 fRun->AddModule(Dipole);
69 Pipe->SetGeometryFileName(
"beampipe_201309.root");
70 fRun->AddModule(Pipe);
123 Lum->SetGeometryFileName(lmd_geometry_filename);
125 fRun->AddModule(Lum);
129 FairPrimaryGenerator*
primGen =
new FairPrimaryGenerator();
130 if (beam_X0 != 0.0 || beam_Y0 != 0.0 || beam_width_sigma_X > 0.0 || beam_width_sigma_Y > 0.0) {
131 primGen->SmearGausVertexXY(
true);
132 primGen->SetBeam(beam_X0, beam_Y0, beam_width_sigma_X, beam_width_sigma_Y);
134 if(target_Z0 != 0.0 || target_width_Z > 0.0) {
135 primGen->SmearGausVertexZ(
true);
136 primGen->SetTarget(target_Z0, target_width_Z);
138 if (beam_grad_X != 0.0 || beam_grad_Y != 0.0 || beam_grad_sigma_X > 0.0 || beam_grad_sigma_Y > 0.0) {
139 primGen->SetBeamAngle(beam_grad_X, beam_grad_Y, beam_grad_sigma_X,
143 fRun->SetGenerator(primGen);
147 primGen->AddGenerator(dpmGen);
152 fRun->SetBeamMom(
mom);
154 fRun->SetField(fField);
156 fRun->SetStoreTraj(
false);
160 FairLogger *logger = FairLogger::GetLogger();
163 logger->SetLogToScreen(kTRUE);
164 logger->SetLogToFile(kFALSE);
166 logger->SetLogVerbosityLevel(
"LOW");
171 logger->SetLogScreenLevel(
"ERROR");
174 ((TGeant4*)gMC)->ProcessGeantCommand(
"/mcVerbose/eventAction 0");
178 FairRuntimeDb *
rtdb = fRun->GetRuntimeDb();
180 FairParRootFileIo*
output =
new FairParRootFileIo(kParameterMerged);
181 output->open(parOutput.Data(),
"RECREATE");
182 rtdb->setOutput(output);
194 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime);
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
int runLumiPixel0SimDPM(const int nEvents=10, const int startEvent=0, const double mom=15, TString input="input.root", TString storePath="tmpOutputDPM", const double beam_X0=0.0, const double beam_Y0=0.0, const double target_Z0=0.0, const double beam_width_sigma_X=0.0, const double beam_width_sigma_Y=0.0, const double target_width_Z=0.0, const double beam_grad_X=0.0, const double beam_grad_Y=0.0, const double beam_grad_sigma_X=0.0, const double beam_grad_sigma_Y=0.0, const TString lmd_geometry_filename="Luminosity-Detector.root", const int verboseLevel=3)
FairParRootFileIo * output
FairPrimaryGenerator * primGen
void SetVerboseLevel(Int_t level)