FairRoot/PandaRoot
Functions
sim_dirc_evtgen.C File Reference

Go to the source code of this file.

Functions

 sim_dirc_evtgen (Int_t nEvents=10)
 

Function Documentation

sim_dirc_evtgen ( Int_t  nEvents = 10)

Initialize the session

Definition at line 1 of file sim_dirc_evtgen.C.

References allDigiFile, basiclibs(), Bool_t, Cave, ctime, digiFile, Double_t, Drc, evtGen, fRun, gDebug, kParameterMerged, nEvents, output, parFile, parIo1, Pipe, primGen, printf(), rootlogon(), rtdb, rtime, PndDrc::SetRunCherenkov(), timer, and TString.

2 {
3 
4 
5 
6  TStopwatch timer;
7  timer.Start();
8  gDebug=0;
9  // If it does not work, please check the path of the libs and put it by hands
10  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
11  rootlogon();
12  // Load basic libraries
13  gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C");
14  basiclibs();
15 
16 
17  TString digiFile = "all.par";
18  TString parFile = "params_testrun1.root";
19 
20  FairRunSim *fRun = new FairRunSim();
21 
22  // set the MC version used
23  // ------------------------
24 
25  fRun->SetName("TGeant3");
26  //fRun->SetName("TGeant4");
27 
28  fRun->SetOutputFile("testrun1.root");
29 
30  // Set the parameters
31  //-------------------------------
32  TString allDigiFile = gSystem->Getenv("VMCWORKDIR");
33  allDigiFile += "/macro/params/";
34  allDigiFile += digiFile;
35 
36  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
37  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
38  parIo1->open(allDigiFile.Data(),"in");
39  rtdb->setFirstInput(parIo1);
41 
42  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
43  output->open(parFile);
44  rtdb->setOutput(output);
45 
46  // Set Material file Name
47  //-----------------------
48  fRun->SetMaterials("media_pnd.geo");
49 
50  // Create and add detectors
51  //-------------------------
52  FairModule *Cave= new PndCave("CAVE");
53  Cave->SetGeometryFileName("pndcave.geo");
54  fRun->AddModule(Cave);
55 
56  //FairModule *Magnet= new PndMagnet("MAGNET");
58  //Magnet->SetGeometryFileName("FullSuperconductingSolenoid_v831.root");
59  //fRun->AddModule(Magnet);
60 
61  //FairModule *Dipole= new PndMagnet("MAGNET");
62  //Dipole->SetGeometryFileName("dipole.geo");
63  //fRun->AddModule(Dipole);
64 
65  FairModule *Pipe= new PndPipe("PIPE");
66  fRun->AddModule(Pipe);
67 
68  //FairDetector *Tpc = new PndTpcDetector("TPC", kTRUE);
69  //Tpc->SetGeometryFileName("tpc.geo");
70  //fRun->AddModule(Tpc);
71 
72  //FairDetector *Mvd = new PndMvdDetector("MVD", kTRUE);
73  //Mvd->SetGeometryFileName("MVD_v1.0_woPassiveTraps.root");
74  //fRun->AddModule(Mvd);
75 
76  //PndEmc *Emc = new PndEmc("EMC",kTRUE);
77  //Emc->SetGeometryVersion(15);
78  //Emc->SetStorageOfData(kFALSE);
79  //fRun->AddModule(Emc);
80 
81  //FairDetector *Tof = new PndTof("TOF",kTRUE);
82  //Tof->SetGeometryFileName("tofbarrel.geo");
83  //fRun->AddModule(Tof);
84 
85  //PndMdt *Muo = new PndMdt("MDT",kTRUE);
86  //Muo->SetBarrel("torino");
87  //Muo->SetEndcap("torino");
88  //Muo->SetMuonFilter("torino");
89  //Muo->SetMdtMagnet(kTRUE);
90  //Muo->SetMdtMFIron(kTRUE);
91  //fRun->AddModule(Muo);
92 
93  //FairDetector *Gem = new PndGemDetector("GEM", kTRUE);
94  //Gem->SetGeometryFileName("gem_3Stations.root");
95  //fRun->AddModule(Gem);
96 
97  PndDrc *Drc = new PndDrc("DIRC", kTRUE);
98  Drc->SetRunCherenkov(kTRUE); // for fast sim Cherenkov -> kFALSE
99  //Drc->SetGeometryFileName("dirc.geo");
100  fRun->AddModule(Drc);
101 
102  // Create and Set Event Generator
103  //-------------------------------
104 
105  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
106  fRun->SetGenerator(primGen);
107 
108 
109  FairEvtGenGenerator* evtGen = new FairEvtGenGenerator("output.evt");
110  primGen->AddGenerator(evtGen);
111 
112 
113  fRun->SetStoreTraj(kTRUE); // to store particle trajectories
114 
115  // Create and Set Magnetic Field
116  //-------------------------------
117  fRun->SetBeamMom(15);
118  //PndMultiField *fField= new PndMultiField("FULL");
119  //fRun->SetField(fField);
120 
121  // EMC Hit producer
122  //-------------------------------
123  //PndEmcHitProducer* emcHitProd = new PndEmcHitProducer();
124  //fRun->AddTask(emcHitProd);
125 
127  fRun->Init();
128 
129  rtdb->setOutput(output);
130  rtdb->saveOutput();
131  rtdb->print();
132 
133  Int_t nEvents=10;
134 
135  // Transport nEvents
136  // -----------------
137  fRun->Run(nEvents);
138 
139  timer.Stop();
140 
141  Double_t rtime = timer.RealTime();
142  Double_t ctime = timer.CpuTime();
143  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
144 
145 }
PndDrc * Drc
Definition: sim_emc_apd.C:75
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
basiclibs()
Bool_t kParameterMerged
Definition: sim_emc_apd.C:113
TString digiFile
Definition: bump_emc.C:20
TString allDigiFile
Definition: hit_muo.C:36
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
FairRunAna * fRun
Definition: hit_dirc.C:58
Double_t
TString parFile
Definition: hit_dirc.C:14
FairModule * Cave
Definition: sim_emc_apd.C:32
Definition: PndDrc.h:31
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
FairParAsciiFileIo * parIo1
Definition: bump_emc.C:53
FairEvtGenGenerator * evtGen
void SetRunCherenkov(Bool_t ch)
Definition: PndDrc.h:222
FairModule * Pipe
Definition: sim_emc_apd.C:44
Double_t rtime
Definition: hit_dirc.C:113
Definition: PndCave.h:8