12 TString OutputFile =
"sim_complete.root";
13 TString ParOutputfile =
"simparams.root";
15 TString MediaFile =
"media_pnd.geo";
20 Bool_t UseEvtGenDirect =kFALSE;
23 Bool_t UseBoxGenerator =kTRUE;
32 FairRunSim *
fRun =
new FairRunSim();
33 fRun->SetName(SimEngine.Data() );
34 fRun->SetOutputFile(OutputFile.Data());
35 fRun->SetBeamMom(BeamMomentum);
36 fRun->SetMaterials(MediaFile.Data());
37 fRun->SetUseFairLinks(kTRUE);
38 FairRuntimeDb *
rtdb=fRun->GetRuntimeDb();
43 allDigiFile +=
"/macro/params/";
48 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
49 parIo1->open(allDigiFile.Data(),
"in");
50 rtdb->setFirstInput(parIo1);
54 FairParRootFileIo*
output=
new FairParRootFileIo(kParameterMerged);
55 output->open(ParOutputfile.Data());
56 rtdb->setOutput(output);
63 Cave->SetGeometryFileName(
"pndcave.geo");
64 fRun->AddModule(Cave);
68 Magnet->SetGeometryFileName(
"FullSuperconductingSolenoid_v831.root");
69 fRun->AddModule(Magnet);
71 Dipole->SetGeometryFileName(
"dipole.geo");
72 fRun->AddModule(Dipole);
75 Pipe->SetGeometryFileName(
"beampipe_201112.root");
76 fRun->AddModule(Pipe);
78 FairDetector *
Stt=
new PndStt(
"STT", kTRUE);
79 Stt->SetGeometryFileName(
"straws_skewed_blocks_35cm_pipe.geo");
83 Mvd->SetGeometryFileName(
"Mvd-2.1_FullVersion.root");
87 Gem->SetGeometryFileName(
"gem_3Stations_Tube.root");
95 FairDetector *SciT =
new PndSciT(
"SCIT",kTRUE);
96 SciT->SetGeometryFileName(
"SciTil_201504.root");
97 fRun->AddModule(SciT);
100 Drc->SetGeometryFileName(
"dirc_l0_p0_updated.root");
102 fRun->AddModule(Drc);
107 fRun->AddModule(Dsk);
116 fRun->AddModule(Muo);
118 FairDetector *
Fts=
new PndFts(
"FTS", kTRUE);
119 Fts->SetGeometryFileName(
"fts.geo");
120 fRun->AddModule(Fts);
123 FTof->SetGeometryFileName(
"ftofwall.root");
124 fRun->AddModule(FTof);
126 FairDetector *Rich=
new PndRich(
"RICH",kFALSE);
127 Rich->SetGeometryFileName(
"rich_v2.geo");
128 fRun->AddModule(Rich);
132 FairPrimaryGenerator*
primGen =
new FairPrimaryGenerator();
133 fRun->SetGenerator(primGen);
136 FairBoxGenerator*
boxGen =
new FairBoxGenerator(13, 3);
137 boxGen->SetPRange(0.5,4);
138 boxGen->SetPhiRange(0., 360.);
139 boxGen->SetThetaRange(0., 10.);
140 boxGen->SetXYZ(0., 0., 0.);
141 primGen->AddGenerator(boxGen);
145 primGen->AddGenerator(Dpm);
152 primGen->AddGenerator(Ftf);
155 TString EvtInput =gSystem->Getenv(
"VMCWORKDIR");
156 EvtInput+=
"/input/psi2s_jpsi2pi_1k.evt";
157 FairEvtGenGenerator*
evtGen =
new FairEvtGenGenerator(EvtInput.Data());
158 primGen->AddGenerator(evtGen);
161 TString EvtInput =gSystem->Getenv(
"VMCWORKDIR");
162 EvtInput+=
"/macro/run/2pipi.dec";
165 primGen->AddGenerator(EvtGen);
170 fRun->SetField(fField);
175 fRun->AddTask(emcHitProd);
178 fRun->SetStoreTraj(kTRUE);
184 trajFilter->SetStepSizeCut(0.04);
188 trajFilter->SetStorePrimaries(kTRUE);
189 trajFilter->SetStoreSecondaries(kTRUE);
198 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
200 cout <<
" Test passed" << endl;
201 cout <<
" All ok " << endl;
FairTrajFilter * trajFilter
void SetForward(TString name)
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
int sim_complete_vis(Int_t nEvents=10, TString SimEngine="TGeant3", Float_t mom=7.24)
creates PndEmcHits from PndEmcPoints
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)
FairEvtGenGenerator * evtGen
void SetRunCherenkov(Bool_t ch)