7 TString vmcdir=gSystem->Getenv(
"VMCWORKDIR");
9 FairRunSim *
fRun =
new FairRunSim();
11 fRun->SetName(
"TGeant4");
12 fRun->SetGenerateRunInfo(kFALSE);
14 fRun->SetMaterials(
"media_pnd.geo");
15 fRun->SetUseFairLinks(kTRUE);
16 fRun->SetUserConfig(vmcdir+
"/macro/detectors/drc/g4Config_Cherenkov.C");
21 allDigiFile +=
"/macro/params/";
24 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
25 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
26 parIo1->open(allDigiFile.Data(),
"in");
27 rtdb->setFirstInput(parIo1);
30 FairParRootFileIo*
output =
new FairParRootFileIo(kParameterMerged);
32 rtdb->setOutput(output);
37 Cave->SetGeometryFileName(
"pndcave.geo");
38 fRun->AddModule(Cave);
46 Drc->SetVerboseLevel(0);
50 Drc->SetGeometryFileName(
geom);
55 if (gSystem->Getenv(
"RANDOM")) {
56 rndm = atoi(gSystem->Getenv(
"RANDOM"));
58 gRandom->SetSeed(rndm);
59 cout<<
"Seed for random number generation= "<<gRandom->GetSeed()<<endl;
63 FairPrimaryGenerator*
primGen =
new FairPrimaryGenerator();
64 fRun->SetGenerator(primGen);
66 Double_t x5[] = { 45.543481, 46.148229, 46.752977, 47.357725, 47.962473 };
67 Double_t y5[] = { 15.265154, 12.102453, 8.939751, 5.777050, 2.614349 };
69 Double_t x4[] = { 45.665,46.418, 47.145, 47.873 };
70 Double_t y4[] = { 14.643,10.771, 6.893, 3.121 };
72 Double_t x3[] = {45.748, 46.752977,47.775 };
73 Double_t y3[] = {14.26, 8.939751, 3.591 };
81 FairBoxGenerator*
boxGen =
new FairBoxGenerator(50000050, 1000);
82 boxGen->SetPRange(3.18e-9,3.18e-9);
84 boxGen->SetThetaRange(90, 180);
86 boxGen->SetCosTheta();
89 if(bars==1) boxGen->SetXYZ(x1[barId],y1[barId],-119+0.0001);
90 if(bars==2) boxGen->SetXYZ(x2[barId],y2[barId],-119+0.0001);
91 if(bars==3) boxGen->SetXYZ(x3[barId],y3[barId],-119+0.0001);
92 if(bars==4) boxGen->SetXYZ(x4[barId],y4[barId],-119+0.0001);
93 if(bars==5) boxGen->SetXYZ(x5[barId],y5[barId],-119+0.0001);
94 primGen->AddGenerator(boxGen);
108 rtdb->setOutput(output);
117 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
void SetStopTime(Double_t ti=-1.)
Set time after which photons are killed.
void SetBlackLensSides(Bool_t lesi=kFALSE)
FairParRootFileIo * output
FairPrimaryGenerator * primGen
void SetDetEffAtProduction(Bool_t dep=kFALSE)
Kill photons at production point according to the detector efficiency distribution.
FairParAsciiFileIo * parIo1
FairBoxGenerator * boxGen
void SetRunCherenkov(Bool_t ch)
void StopSecondaries(Bool_t ss=kFALSE)
Kill secondaries at its production point.
void SetOptionForLUT(Bool_t oplu=kFALSE)
void SetMirrorReal(Bool_t mir=kTRUE)
Choose between ideal and real mirror: