FairRoot/PandaRoot
Functions
sim_hypGe_extparameters_urqmd.C File Reference

Go to the source code of this file.

Functions

int sim_hypGe_extparameters_urqmd (Int_t nEvents, Int_t WhichDetector, Int_t iurqmdFile, Int_t StartEvent, Int_t SecTarget)
 

Function Documentation

int sim_hypGe_extparameters_urqmd ( Int_t  nEvents,
Int_t  WhichDetector,
Int_t  iurqmdFile,
Int_t  StartEvent,
Int_t  SecTarget 
)

Definition at line 3 of file sim_hypGe_extparameters_urqmd.C.

References Bool_t, Cave, ctime, Double_t, fMagField, fRun, gDebug, GeoFileChooser(), Hyp, HypGe, inFile, kParameterMerged, Mvd, nam, nEvents, outFile, output, primGen, printf(), rtdb, rtime, PndHyp::SetAbsorberVol(), PndConstField::SetField(), PndConstField::SetFieldRegion(), PndHypGe::SetPathGeo(), PndHyp::SetSensorVol(), timer, and TString.

3  {
4  // Load basic libraries
5  // If it does not work, please check the path of the libs and put it by hands
6  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
7  gSystem->Load("libHypGe");
8  gSystem->Load("librazhyp");
9  gSystem->Load("libHyp");
10  gROOT->LoadMacro("$VMCWORKDIR/macro/hypGe/Marcell/SharedMacros/SharedMacroFunctions.C");
11  FairRunSim *fRun = new FairRunSim();
12  gRandom->SetSeed();
13  TStopwatch timer;
14  timer.Start();
15  gDebug=0;
16  TString urqmdFile = "pbarC_";
17  urqmdFile += iurqmdFile;
18  TString inFile="/home/steinen/work/urqmd/pbarC_3GeV/";
19  inFile += urqmdFile;
20  inFile += ".root";
21  //Choose geometry
22  TString outFile="$SIMDATADIR/Neutron/Geo"; // If no SIMDATADIR, same folder as the macro
23  TString GeoFile= GeoFileChooser(WhichDetector);
24  outFile += WhichDetector;
25  //compose the name of the output file and the simparams file
26  outFile += "urqmd_";
27  outFile += urqmdFile;
28  outFile +="_";
29  outFile += nEvents;
30  outFile += "Evts_StartEvent_";
31  outFile += StartEvent;
32  if(SecTarget)
33  outFile += "_SecTar";
34 
35 
36  TString SimparamsFile;
37  SimparamsFile=outFile;
38  outFile +=".root";
39  SimparamsFile += "__Simparams.root";
40 
41  //TString inFile="/d/panda02/urqmd_smm/pbarC_3_GeV.root";
42  //TString inFile="/u/asanchez/razhyp_gt12.dat";
43 
44  //TString inFile="/data/work/kpha1/bleser/GiBUU-data2b/jobs/carbon0003/Conversion_Class_apr13_carbon0003_allParticles/carbon0003_allParticles_1_32.root"; //GiBUU file 1.5*10⁷ events
45  // set the MC version used
46  // ------------------------
47 
48  fRun->SetName("TGeant4");
49 
50  fRun->SetOutputFile(outFile);
51  // Set Material file Name
52  //-----------------------
53 
54  fRun->SetMaterials("media_pnd_hypGe.geo");
55 
56  // Create and add detectors
57  //-------------------------
58 
59  FairModule *Cave= new PndCave("CAVE");
60  Cave->SetGeometryFileName("pndcave.geo");
61  fRun->AddModule(Cave);
62 
63  if(SecTarget)
64  {
65  //acc sec. target
66  PndHyp *Hyp= new PndHyp("HYP",kFALSE);
67  Hyp->SetAbsorberVol("Absorber"); // absorber layer
68  Hyp->SetSensorVol("Sensor"); // silicon sensor
69  Hyp->SetGeometryFileName("../macro/hyp/Sebastian/SekTarget_open_varAbs4Si5_3Q_HYPbe_1mm_MVD.root");
70  fRun->AddModule(Hyp);
71 
72  //add MVD outer barrel
73  FairDetector *Mvd = new PndMvdDetector("MVD", kFALSE);
74  Mvd->SetGeometryFileName("../macro/hyp/Sebastian/Mvd-2.2_Simplified_onlyStrip5_z-verschoben550.root");
75  fRun->AddModule(Mvd);
76  }
77  PndHypGe *HypGe= new PndHypGe("HYPGE",kTRUE);
78  TString nam = gSystem->Getenv("VMCWORKDIR");
79  HypGe->SetPathGeo(nam.Data());
80  HypGe->SetGeometryFileName(GeoFile);
81  fRun->AddModule(HypGe);
82 
83  // FairDetector *Hyp= new FairHyp("HYP",kTRUE);
84  // Hyp->SetGeometryFileName("HypST_prueba24pipe.geo");
85  // fRun->AddModule(Hyp);
86 
87  // FairDetector *Drc = new FairDrc("DIRC", kTRUE);
88  // Drc->SetGeometryFileName("dirc.geo");
89  // fRun->AddModule(Drc);
90 
91  // FairModule *Magnet= new FairMagnet("MAGNET");
92  // Magnet->SetGeometryFileName("magnet.geo");
93  // fRun->AddModule(Magnet);
94 
95  // FairDetector *Emc = new FairEmc("EMC",kTRUE);
96  // Emc->SetGeometryFileName("emc_module123.dat");
97  // fRun->AddModule(Emc);
98 
99  // Create and Set Event Generator
100  //-------------------------------
101 
102  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
103  fRun->SetGenerator(primGen);
104 
105  PndUrqmdSmmGenerator* UrqmdGen = new PndUrqmdSmmGenerator(inFile,StartEvent);
106  primGen->SetTarget(-55.,0.);
107  primGen->AddGenerator(UrqmdGen);
108 
109 
110  fRun->SetStoreTraj(kTRUE); // to store particle trajectories
111 
112 
113  //magnetic field: no field when commented put
115  fMagField->SetField(0.,0.,10.); // values are in kG
116  fMagField->SetFieldRegion(-50, 50,-50, 50, -100, 100);
117  //values are in cm (xmin,xmax,ymin,ymax,zmin,zmax)
118  fRun->SetField(fMagField);
119 
120 
121 
122 
123  fRun->Init();
124 
125  // Fill the Parameter containers for this run
126  //-------------------------------------------
127 
128  FairRuntimeDb *rtdb=fRun->GetRuntimeDb();
129  Bool_t kParameterMerged=kTRUE;
130 
131 
132  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
133  output->open(SimparamsFile);
134  rtdb->setOutput(output);
135  rtdb->saveOutput();
136  rtdb->print();
137 
138 
139  // Transport nEvents
140  // -----------------
141 
142  fRun->Run(nEvents);
143 
144  timer.Stop();
145 
146  Double_t rtime = timer.RealTime();
147  Double_t ctime = timer.CpuTime();
148  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
149 
150  return 0;
151 }
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
PndHypGe * HypGe
Definition: sim_hypGe.C:47
TString GeoFileChooser(Int_t Geometry)
Definition: PndHyp.h:30
Bool_t kParameterMerged
Definition: sim_emc_apd.C:113
TString outFile
Definition: hit_dirc.C:17
FairDetector * Mvd
Definition: sim_emc_apd.C:51
PndHyp * Hyp
Definition: runSimHF_ptr.C:73
TString inFile
Definition: hit_dirc.C:8
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
void SetFieldRegion(Double_t xMin, Double_t xMax, Double_t yMin, Double_t yMax, Double_t zMin, Double_t zMax)
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
void SetSensorVol(TString VolSi)
Definition: PndHyp.h:195
FairRunAna * fRun
Definition: hit_dirc.C:58
PndConstField * fMagField
Definition: runSimHF_ptr.C:154
Double_t
FairModule * Cave
Definition: sim_emc_apd.C:32
void SetField(Double_t bX, Double_t bY, Double_t bZ)
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
void SetAbsorberVol(TString VolAb)
Definition: PndHyp.h:199
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
gDebug
Definition: sim_emc_apd.C:6
Double_t ctime
Definition: hit_dirc.C:114
Double_t rtime
Definition: hit_dirc.C:113
TString nam
Definition: sim_hypGe.C:48
void SetPathGeo(TString pgeo)
Definition: PndHypGe.h:136
Definition: PndCave.h:8