7 Bool_t FirstBeamTime =
false;
8 Int_t ParticlePDG = PDG_ext;
12 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
13 gSystem->Load(
"libHypGe");
14 gSystem->Load(
"libHyp");
20 FairRunSim *
fRun =
new FairRunSim();
31 outFile +=
"hypGeCOSYBeamTime_";
34 outFile +=
"protons_mom";
35 outFile += ProtonMomentum;
45 outFile +=
"_GausianSmearedBeam";
46 if (!BremsStahlungActivated)
47 outFile +=
"_withoutBremsStahlung";
50 outFile +=TargetThickness;
52 outFile +=TargetAngle;
55 outFile +=
"_DetectorDist";
56 outFile += ClusterRadius;
61 outFile +=
"_WithDumpDist";
62 outFile += BeamDumpDist;
63 outFile +=
"cm__Run_";
69 SimparamsFile +=
"__Simparams.root";
74 fRun->SetName(
"TGeant4");
76 fRun->SetOutputFile(outFile);
79 cout << outFile << endl;
80 fRun->SetMaterials(
"media_pnd_hypGe.geo");
86 Cave->SetGeometryFileName(
"pndcave.geo");
87 fRun->AddModule(Cave);
95 gROOT->ProcessLine(
".L ../Geometry/hypGeGeoCOSYGermaniums.C");
97 gROOT->ProcessLine(
".L ../Geometry/hypGeGeoBuilderSingle.C");
99 HypGe->SetGeometryFileName(GeoFile.Data());
100 fRun->AddModule(HypGe);
105 gROOT->ProcessLine(
".L ../Geometry/hypGeGeoCOSYTarget.C");
107 Target->SetGeometryFileName(TargetFile.Data());
108 fRun->AddModule(Target);
122 FairModule *InBeamStuff =
new PndHyp(
"InBeamStuff",kFALSE);
124 gROOT->ProcessLine(
".L ../Geometry/hypGeGeoCOSYInBeamStuff.C");
126 InBeamStuff->SetGeometryFileName(InBeamStuffFile.Data());
131 Drc->SetGeometryFileName(InBeamStuffFile.Data());
132 if (FirstBeamTime) fRun->AddModule(Drc);
136 BeamDump->SetGeometryFileName(
"hypGeGeoCOSYBeamDumpTOF_dist200cm.root");
137 if (FirstBeamTime) fRun->AddModule(BeamDump);
139 FairPrimaryGenerator*
primGen =
new FairPrimaryGenerator();
140 fRun->SetGenerator(primGen);
144 boxGen->
SetPRange(ProtonMomentum,ProtonMomentum);
149 boxGen->
SetXYZ(0., 0., -1000);
153 primGen->SetBeam(0, 0, 0.2, 0.2);
154 primGen->SmearVertexXY(1);
156 primGen->AddGenerator(boxGen);
161 fRun->SetStoreTraj(kTRUE);
168 cout <<
"init now" << endl;
174 FairRuntimeDb *
rtdb=fRun->GetRuntimeDb();
178 FairParRootFileIo*
output=
new FairParRootFileIo(kParameterMerged);
179 output->open(SimparamsFile);
180 rtdb->setOutput(output);
194 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
void SetThetaRange(Double32_t thetamin=0, Double32_t thetamax=90)
TString BuildOutputNameInBeamStuff()
void SetXYZ(Double32_t x=0, Double32_t y=0, Double32_t z=0)
TString BuildOutputNameDetector(Double_t ClusterRadius)
TString BuildOutputNameTarget(Double_t TargetThickness_Ext, Double_t Angle)
FairParRootFileIo * output
FairPrimaryGenerator * primGen
FairBoxGenerator * boxGen
void SetPRange(Double32_t pmin=0, Double32_t pmax=10)
void SetPhiRange(Double32_t phimin=0, Double32_t phimax=360)
void SetPathGeo(TString pgeo)