11 TString OutputFile =
"sim_complete.root";
12 TString ParOutputfile =
"simparams.root";
13 TString MediaFile =
"media_pnd.geo";
17 Bool_t UseEvtGenDirect =kTRUE;
20 Bool_t UseBoxGenerator =kFALSE;
33 TLorentzVector
fIni(0, 0,
mom,
sqrt(
mom*
mom+9.3827203e-01*9.3827203e-01)+atarg*0.931494);
34 TDatabasePDG::Instance()->AddParticle(
"pbarASystem",
"pbarASystem",
fIni.M(),kFALSE,0.1,0,
"",88890);
35 TDatabasePDG::Instance()->AddParticle(
"pbarpSystem",
"pbarpSystem",5.5,kFALSE,0.1,0,
"",88888);
36 TDatabasePDG::Instance()->AddParticle(
"pbarnSystem",
"pbarnSystem",5.5,kFALSE,0.1,-3,
"",88887);
37 TDatabasePDG::Instance()->AddParticle(
"A-1System",
"pbarASystem",1.8,kFALSE,0.1,0,
"",88891);
42 gRandom->SetSeed(
seed);
45 FairRunSim *
fRun =
new FairRunSim();
46 fRun->SetName(SimEngine.Data() );
47 fRun->SetOutputFile(OutputFile.Data());
48 fRun->SetGenerateRunInfo(kFALSE);
49 fRun->SetBeamMom(BeamMomentum);
50 fRun->SetMaterials(MediaFile.Data());
51 fRun->SetUseFairLinks(kTRUE);
52 FairRuntimeDb *
rtdb=fRun->GetRuntimeDb();
57 allDigiFile +=
"/macro/params/";
62 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
63 parIo1->open(allDigiFile.Data(),
"in");
64 rtdb->setFirstInput(parIo1);
68 FairParRootFileIo*
output=
new FairParRootFileIo(kParameterMerged);
69 output->open(ParOutputfile.Data());
70 rtdb->setOutput(output);
77 Cave->SetGeometryFileName(
"pndcave.geo");
78 fRun->AddModule(Cave);
85 Dipole->SetGeometryFileName(
"dipole.geo");
86 fRun->AddModule(Dipole);
89 Pipe->SetGeometryFileName(
"beampipe_201309.root");
90 fRun->AddModule(Pipe);
92 FairDetector *
Stt=
new PndStt(
"STT", kTRUE);
93 Stt->SetGeometryFileName(
"straws_skewed_blocks_35cm_pipe.geo");
97 Mvd->SetGeometryFileName(
"Mvd-2.1_FullVersion.root");
101 Gem->SetGeometryFileName(
"gem_3Stations_Tube.root");
102 fRun->AddModule(Gem);
107 fRun->AddModule(Emc);
109 FairDetector *SciT =
new PndSciT(
"SCIT",kTRUE);
110 SciT->SetGeometryFileName(
"SciTil_201601.root");
111 fRun->AddModule(SciT);
114 Drc->SetGeometryFileName(
"dirc_l0_p0_updated.root");
116 fRun->AddModule(Drc);
121 fRun->AddModule(Dsk);
131 fRun->AddModule(Muo);
133 FairDetector *
Fts=
new PndFts(
"FTS", kTRUE);
134 Fts->SetGeometryFileName(
"fts.geo");
135 fRun->AddModule(Fts);
138 FTof->SetGeometryFileName(
"ftofwall.root");
139 fRun->AddModule(FTof);
141 FairDetector *Rich=
new PndRich(
"RICH",kFALSE);
142 Rich->SetGeometryFileName(
"rich_v2_shift.geo");
143 fRun->AddModule(Rich);
147 FairPrimaryGenerator*
primGen =
new FairPrimaryGenerator();
148 fRun->SetGenerator(primGen);
151 FairBoxGenerator*
boxGen =
new FairBoxGenerator(22, 5);
152 boxGen->SetPRange(
mom,
mom);
153 boxGen->SetPhiRange(0., 360.);
154 boxGen->SetThetaRange(0., 90.);
155 boxGen->SetXYZ(0., 0., 0.);
156 primGen->AddGenerator(boxGen);
160 primGen->AddGenerator(Dpm);
167 primGen->AddGenerator(Ftf);
170 TString EvtInput =gSystem->Getenv(
"VMCWORKDIR");
172 EvtInput+=
"/mysim/pbarNe20_0/pbarNe20_pbarpX.dec";
173 TString defDECAY =gSystem->Getenv(
"VMCWORKDIR");
174 defDECAY+=
"/pgenerators/EvtGen/EvtGen/Private/DECAY.DEC";
175 TString defPDL =gSystem->Getenv(
"VMCWORKDIR");
176 defPDL+=
"/pgenerators/EvtGen/EvtGen/Private/evt.pdl";
180 primGen->AddGenerator(EvtGen);
185 fRun->SetField(fField);
190 fRun->AddTask(emcHitProd);
202 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
204 cout <<
" Test passed" << endl;
205 cout <<
" All ok " << endl;
void SetForward(TString name)
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
friend F32vec4 sqrt(const F32vec4 &a)
creates PndEmcHits from PndEmcPoints
void SetMdtCoil(bool opt=false)
void SetMdtMFIron(bool opt=false)
void SetStorageOfData(Bool_t val)
FairParRootFileIo * output
FairPrimaryGenerator * primGen
void SetMdtMagnet(bool opt=false)
void SetStoreTrackPoints(Bool_t storeTrackPoints)
void SetStoreTree(Bool_t store=true)
void SetStoreCerenkovs(Bool_t storeCerenkovs)
virtual void SetGeometryVersion(const Int_t GeoNumber)
void SetBarrel(TString name)
FairParAsciiFileIo * parIo1
FairBoxGenerator * boxGen
void SetEndcap(TString name)
void SetMuonFilter(TString name)
void SetRunCherenkov(Bool_t ch)