FairRoot/PandaRoot
QAmacro_evtgen_1.C
Go to the documentation of this file.
1 // TEST 1: only check EvtGenDirect
2 // void qa_evtgendirect(){
4 {
5  TStopwatch timer;
6  timer.Start();
7 
8  TString BaseDir = gSystem->Getenv("VMCWORKDIR");
9  TString DECAYInput = BaseDir + "/pgenerators/EvtGen/EvtGen/Private/DECAY.DEC";
10  TString PDLInput = BaseDir + "/pgenerators/EvtGen/EvtGen/Private/evt.pdl";
11 
12  Bool_t fTest=kFALSE;
13 
14  FairRunSim *fRun = new FairRunSim();
15 
16  // set the MC version used
17  // ------------------------
18 
19  fRun->SetName("TGeant3");
20  //fRun->SetName("TGeant4");
21 
22  fRun->SetOutputFile("qa_evtgen1.root");
23 
24  // Set Material file Name
25  //-----------------------
26  fRun->SetMaterials("media_pnd.geo");
27 
28  // Create and add detectors
29  //-------------------------
30  FairModule *Cave= new PndCave("CAVE");
31  Cave->SetGeometryFileName("pndcave.geo");
32  fRun->AddModule(Cave);
33 
34  // Create and Set Event Generator
35  //-------------------------------
36 
37  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
38  fRun->SetGenerator(primGen);
39 
40  FairBoxGenerator* boxGen1 = new FairBoxGenerator(13, 2); // 13 = muon; 1 = multipl.
41  boxGen1->SetPRange(0.1,2); // GeV/c
42  boxGen1->SetPhiRange(0., 360.); // Azimuth angle range [degree]
43  boxGen1->SetThetaRange(5., 140.); // Polar angle in lab system range [degree]
44  boxGen1->SetXYZ(0., 0., 0.); // mm o cm ??
45 
46  FairBoxGenerator* boxGen2 = new FairBoxGenerator(-13, 2); // 13 = muon; 1 = multipl.
47  boxGen2->SetPRange(0.1,2); // GeV/c
48  boxGen2->SetPhiRange(0., 360.); // Azimuth angle range [degree]
49  boxGen2->SetThetaRange(5., 140.); // Polar angle in lab system range [degree]
50  boxGen2->SetXYZ(0., 0., 0.); // mm o cm ??
51 
52  // EvtGen Generator
53  PndEvtGenDirect* evtGen = new PndEvtGenDirect("psi(3770)","",7,123456,DECAYInput,PDLInput);
54  evtGen->SetStoreTree();
55 
56  primGen->AddGenerator(boxGen1);
57  primGen->AddGenerator(evtGen);
58  primGen->AddGenerator(boxGen2);
59 
60 
61  // ----- Initialize and run --------------------------------------------
62  fRun->Init();
63  fRun->Run(100);// just a few events
64  // ------------------------------------------------------------------------
65 
66  fTest = kTRUE;
67 
68 
69  if (fTest){
70  cout << " Test Passed" << endl;
71  cout << " All Ok " << endl;
72  }else{
73  cout << " Test Failed" << endl;
74  cout << " Not Ok " << endl;
75  }
76  timer.Stop();
77  Double_t rtime = timer.RealTime();
78  Double_t ctime = timer.CpuTime();
79  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
80  //return 0;
81  return 0;
82 }
83 
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
PndBoxGenerator * boxGen2
Definition: sim_pid.C:96
PndBoxGenerator * boxGen1
Definition: sim_pid.C:95
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
FairRunAna * fRun
Definition: hit_dirc.C:58
int QAmacro_evtgen_1()
void SetStoreTree(Bool_t store=true)
Double_t
FairModule * Cave
Definition: sim_emc_apd.C:32
TStopwatch timer
Definition: hit_dirc.C:51
Double_t ctime
Definition: hit_dirc.C:114
FairEvtGenGenerator * evtGen
Double_t rtime
Definition: hit_dirc.C:113
Definition: PndCave.h:8