FairRoot/PandaRoot
Functions
QAmacro_gem_1.C File Reference

Go to the source code of this file.

Functions

int QAmacro_gem_1 ()
 

Function Documentation

int QAmacro_gem_1 ( )

Definition at line 1 of file QAmacro_gem_1.C.

References Bool_t, boxGen, Cave, fField, fRun, Gem, kParameterMerged, output, Pipe, primGen, rtdb, and TString.

2 {
3  //FileNames
4  TString OutputFile = "tstQA.points.root";
5  TString ParOutputFile = "tstQA.param.root";
6 
7  // Create the Simulation run manager--------------------------------
8  FairRunSim *fRun = new FairRunSim();
9  fRun->SetName("TGeant4");
10  fRun->SetOutputFile(OutputFile.Data());
11  fRun->SetBeamMom(15.0);
12  fRun->SetMaterials("media_pnd.geo");
13  FairRuntimeDb *rtdb=fRun->GetRuntimeDb();
14 
15  //---------------------Set Parameter output ----------
17  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
18  output->open(ParOutputFile.Data());
19  rtdb->setOutput(output);
20 
21  // Create and add detectors
22  //-------------------------
23 
24  FairModule *Cave= new PndCave("CAVE");
25  Cave->SetGeometryFileName("pndcave.geo");
26  fRun->AddModule(Cave);
27 
28  FairModule *Pipe= new PndPipe("PIPE");
29  Pipe->SetGeometryFileName("pipebeamtarget.geo");
30  fRun->AddModule(Pipe);
31 
32 // FairModule *Magnet= new PndMagnet("MAGNET");
33 // Magnet->SetGeometryFileName("FullSolenoid.root");
34 // fRun->AddModule(Magnet);
35 
36  FairModule *dipole= new PndMagnet("MAGNET");
37  dipole->SetGeometryFileName("dipole.geo");
38  fRun->AddModule(dipole);
39 
40  FairDetector *Gem = new PndGemDetector("GEM", kTRUE);
41  Gem->SetGeometryFileName("gem_3Stations_Tube.root");
42  Gem->SetVerboseLevel(0);
43  fRun->AddModule(Gem);
44 
45  // Event generator
46  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
47  fRun->SetGenerator(primGen);
48 
49  FairBoxGenerator* boxGen = new FairBoxGenerator(13,1);
50  boxGen->SetThetaRange(12,12);
51  boxGen->SetPhiRange (0.,360.);
52  boxGen->SetPRange (2.,2.);
53  primGen->AddGenerator(boxGen);
54 
55  //---------------------Create and Set the Field(s)----------
56  PndMultiField *fField= new PndMultiField("FULL");
57  fRun->SetField(fField);
58  //-----------end of Bfield stuff
59 
60  // support event display?
61  fRun->SetStoreTraj(kFALSE);
62  fRun->SetRadLenRegister(kFALSE);
63 
64  fRun->Init();
65 
66  // Transport nEvents
67  // -----------------
68 
69  fRun->Run(100);
70 
71  rtdb->saveOutput();
72  rtdb->print();
73 
74  cout << " Test passed" << endl;
75  cout << " All ok " << endl;
76 
77  //delete fRun;
78  //return 0;
79  return 0;
80 }
PndMultiField * fField
Definition: sim_emc_apd.C:97
Bool_t kParameterMerged
Definition: sim_emc_apd.C:113
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
FairRunAna * fRun
Definition: hit_dirc.C:58
FairDetector * Gem
Definition: runJohan.C:71
FairModule * Cave
Definition: sim_emc_apd.C:32
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
FairBoxGenerator * boxGen
Definition: sim_emc_apd.C:85
FairModule * Pipe
Definition: sim_emc_apd.C:44
Definition: PndCave.h:8