FairRoot/PandaRoot
Functions
gem_urqmd_sim.C File Reference

Go to the source code of this file.

Functions

int gem_urqmd_sim (Int_t nEvents=100, TString urqmdString="pbarC_15_GeV", int verboseLevel=0)
 

Function Documentation

int gem_urqmd_sim ( Int_t  nEvents = 100,
TString  urqmdString = "pbarC_15_GeV",
int  verboseLevel = 0 
)

Definition at line 2 of file gem_urqmd_sim.C.

References PndMultiField::AddField(), Bool_t, Cave, ctime, Double_t, fField, fRun, gDebug, Gem, kParameterMerged, map, map1, map2, Mvd, nEvents, output, parOutput, Pipe, primGen, printf(), rtdb, rtime, simOutput, timer, TString, and verboseLevel.

3 {
4  TStopwatch timer;
5  timer.Start();
6  gDebug=0;
7 
8  //FileNames
10  simOutput.Form("$VMCWORKDIR/data/Gem_4Stations_%s_n%d",urqmdString.Data(),nEvents);
12  simOutput+=".root";
13  parOutput+="_par.root";
14 
15  FairRunSim *fRun = new FairRunSim();
16 
17  // set the MC version used
18  // ------------------------
19 
20  fRun->SetName("TGeant4");
21  // Choose the Geant Navigation System
22 
23  fRun->SetOutputFile(simOutput);
24 
25  // Set Material file Name
26  //-----------------------
27  fRun->SetMaterials("media_pnd.geo");
28 
29  // Create and add detectors
30  //-------------------------
31 
32  FairModule *Cave= new PndCave("CAVE");
33  Cave->SetGeometryFileName("pndcave.geo");
34  fRun->AddModule(Cave);
35 
36 // FairModule *Magnet= new PndMagnet("MAGNET");
37 // Magnet->SetGeometryFileName("FullSolenoid.root");
38 // fRun->AddModule(Magnet);
39 
40 // FairModule *Dipole= new PndMagnet("MAGNET");
41 // Dipole->SetGeometryFileName("dipole.geo");
42 // fRun->AddModule(Dipole);
43 
44  FairModule *Pipe= new PndPipe("PIPE");
45 // Pipe->SetGeometryFileName("pipebeamtarget.geo");
46  fRun->AddModule(Pipe);
47 
48  FairDetector *Mvd = new PndMvdDetector("MVD", kTRUE);
49  Mvd->SetGeometryFileName("MVD_v1.0_woPassiveTraps.root");
50  Mvd->SetVerboseLevel(verboseLevel);
51  fRun->AddModule(Mvd);
52 
53 // FairDetector *Tpc = new PndTpcDetector("TPC", kFALSE);
54 // Tpc->SetGeometryFileName("tpc.geo"); // this is the "long" tpc - conflicts with 4 GEM planes
55 // fRun->AddModule(Tpc);
56 
57 // PndEmc *Emc = new PndEmc("EMC",kTRUE);
58 // Emc->SetGeometryFileNameDouble("emc_module1245.dat","emc_module3new.root");
59 // fRun->AddModule(Emc);
60 
61 // FairDetector *Tof = new PndTof("TOF",kTRUE);
62 // Tof->SetGeometryFileName("tofbarrel.geo");
63 // fRun->AddModule(Tof);
64 
65 // FairDetector *Muo = new PndMdt("MDT",kTRUE);
66 // Muo->SetGeometryFileName("muopars.root");
67 // fRun->AddModule(Muo);
68 
69 // PndDrc *Drc = new PndDrc("DIRC", kTRUE);
70 // Drc->SetRunCherenkov(kFALSE);
71  //Drc->SetGeometryFileName("dirc.geo");
72 // fRun->AddModule(Drc);
73 
74  FairDetector *Gem = new PndGemDetector("GEM", kTRUE);
75  Gem->SetGeometryFileName("gem_4Stations.root");
76  Gem->SetVerboseLevel(verboseLevel);
77  fRun->AddModule(Gem);
78 
79 
80 
81 
82  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
83  fRun->SetGenerator(primGen);
84  PndUrqmdSmmGenerator* urqmdGen = new PndUrqmdSmmGenerator(Form("/d/panda02/urqmd_smm/%s.root",urqmdString.Data()));
85  primGen->AddGenerator(urqmdGen);
86 
87 
89 
90  PndTransMap *map= new PndTransMap("TransMap", "R");
91  PndDipoleMap *map1= new PndDipoleMap("DipoleMap", "R");
92  PndSolenoidMap *map2= new PndSolenoidMap("SolenoidMap", "R");
93  fField->AddField(map);
94  fField->AddField(map1);
95  fField->AddField(map2);
96 
97  fRun->SetField(fField);
98 
99  // support event display?
100  fRun->SetStoreTraj(kFALSE);
101 
102  fRun->SetRadLenRegister(kFALSE);
103 
104 
105  fRun->Init();
106 // Tpc->Initialize(); // tpc produces too much points, use radlenpoints instead
107 
108  // Fill the Parameter containers for this run
109  //-------------------------------------------
110  FairRuntimeDb *rtdb=fRun->GetRuntimeDb();
111  Bool_t kParameterMerged=kTRUE;
112  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
113  output->open(parOutput.Data(),"RECREATE");
114  rtdb->setOutput(output);
115 
116  // Transport nEvents
117  // -----------------
118 
119  fRun->Run(nEvents);
120 
121  rtdb->saveOutput();
122  rtdb->print();
123 
124 
125  timer.Stop();
126  Double_t rtime = timer.RealTime();
127  Double_t ctime = timer.CpuTime();
128  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
129  return 0;
130 }
PndMultiField * fField
Definition: sim_emc_apd.C:97
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
PndSolenoidMap * map2
Definition: sim_emc_apd.C:101
int verboseLevel
Definition: Lars/runMvdSim.C:7
Bool_t kParameterMerged
Definition: sim_emc_apd.C:113
PndTransMap * map
Definition: sim_emc_apd.C:99
FairDetector * Mvd
Definition: sim_emc_apd.C:51
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
TString parOutput
FairRunAna * fRun
Definition: hit_dirc.C:58
FairDetector * Gem
Definition: runJohan.C:71
Double_t
FairModule * Cave
Definition: sim_emc_apd.C:32
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
gDebug
Definition: sim_emc_apd.C:6
Double_t ctime
Definition: hit_dirc.C:114
TString simOutput
PndDipoleMap * map1
Definition: sim_emc_apd.C:100
void AddField(FairField *field)
FairModule * Pipe
Definition: sim_emc_apd.C:44
Double_t rtime
Definition: hit_dirc.C:113
Definition: PndCave.h:8