FairRoot/PandaRoot
Functions
simfast_dpm_cmp.C File Reference

Go to the source code of this file.

Functions

void simfast_dpm_cmp (double mom, int mode=0, int nevts=100, TString outfile="")
 

Function Documentation

void simfast_dpm_cmp ( double  mom,
int  mode = 0,
int  nevts = 100,
TString  outfile = "" 
)

Definition at line 5 of file simfast_dpm_cmp.C.

References PndFastSim::AddDetector(), ctime, Double_t, dpmGen, PndFastSim::EnablePropagation(), fRun, gDebug, mode, mom, mp, outfile, p, primGen, printf(), rootlogon(), rtime, PndFastSim::SetVerbosity(), sqrt(), timer, TString, and X.

6 {
7  TStopwatch timer;
8  timer.Start();
9  gDebug=0;
10 
11  // Load basic libraries
12  // Load basic libraries
13  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
14  rootlogon();
15 
16  // Load this libraries
17  gSystem->Load("libRho");
18  gSystem->Load("libfastsim");
19 
20  double mp=0.938272;
21  double p=0,M=0;
22 
23  // determine the pbar mom and E_cms for DPM generator
24  if (mom>0)
25  {
26  p=mom;
27  double E=sqrt(mp*mp+mom*mom)+mp;
28  M=sqrt(E*E-mom*mom);
29  }
30  else
31  {
32  M=-mom;
33  double X = (M*M-2*mp*mp)/(2*mp);
34  p = sqrt(X*X-mp*mp);
35  }
36 
37  char tmp[100];
38  sprintf(tmp,"dpm%d_%6.4f_%dk.fast.root",mode,M,nevts/1000);
39  if (outfile=="") outfile=TString(tmp);
40 
41  FairRunSim *fRun = new FairRunSim();
42  fRun->SetOutputFile(outfile.Data());
43  fRun->SetName("TGeant3");
44 
45  // Create and Set Event Generator
46  //-------------------------------
47 
48  FairPrimaryGenerator* primGen = new FairPrimaryGenerator();
49  fRun->SetGenerator(primGen);
50 
51  //PndDpmGenerator* dpmGen = new PndDpmGenerator(infile.Data());
52  /* *
53  * 0. - No elastic scattering, only inelastic
54  * 1. - Elastic and inelastic interactions
55  * 2. - Only elastic scattering, no inelastic one
56  */
58  primGen->AddGenerator(dpmGen);
59 
60  primGen->DoTracking(kFALSE);
61 
62 
63  //Setup the Fast Simulation Task
64  //-----------------------------
65  PndFastSim* fastSim = new PndFastSim();
66  fastSim->SetVerbosity(0);
67  fastSim->AddDetector("CmpDet");
68  fastSim->EnablePropagation();
69 
70  fRun->AddTask(fastSim);
71 
72  fRun->Init();
73  fRun->Run(nevts);
74 
75  timer.Stop();
76  Double_t rtime = timer.RealTime();
77  Double_t ctime = timer.CpuTime();
78  printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
79 }
Double_t p
Definition: anasim.C:58
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
PndDpmGenerator * dpmGen
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
bool AddDetector(std::string name, std::string params="")
Definition: PndFastSim.cxx:313
Double_t mom
Definition: plot_dirc.C:14
static const double mp
Definition: mzparameters.h:11
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
FairRunAna * fRun
Definition: hit_dirc.C:58
Int_t mode
Definition: autocutx.C:47
Double_t
TStopwatch timer
Definition: hit_dirc.C:51
gDebug
Definition: sim_emc_apd.C:6
Double_t ctime
Definition: hit_dirc.C:114
double X
Definition: anaLmdDigi.C:68
void SetVerbosity(int vb)
Definition: PndFastSim.h:59
Double_t rtime
Definition: hit_dirc.C:113
TString outfile
void EnablePropagation(bool propagate=true, bool tostartvtx=true, bool usecovmatrix=true, double tolerance=0.0)
Definition: PndFastSim.cxx:303