FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
PndPythia8Generator Class Reference

#include <PndPythia8Generator.h>

Inheritance diagram for PndPythia8Generator:

Public Member Functions

 PndPythia8Generator ()
 
virtual ~PndPythia8Generator ()
 
Bool_t ReadEvent (FairPrimaryGenerator *)
 
void SetParameters (char *)
 
void Print ()
 
virtual Bool_t Init ()
 
void SetMom (Double_t mom)
 
void UseRandom1 ()
 
void UseRandom3 ()
 

Protected Member Functions

 ClassDef (PndPythia8Generator, 1)
 

Protected Attributes

Double_t fMom
 
Int_t fPar_it
 
Bool_t fUseRandom1
 
Bool_t fUseRandom3
 

Private Attributes

Pythia fPythia
 
RndmEngine * fRandomEngine
 
char * fParams [100]
 

Detailed Description

Definition at line 46 of file PndPythia8Generator.h.

Constructor & Destructor Documentation

PndPythia8Generator::PndPythia8Generator ( )

default constructor

Definition at line 12 of file PndPythia8Generator.cxx.

13 {
14  fPar_it = 0;
15  fMom = 15.;
16  fUseRandom1 = kFALSE;
17  fUseRandom3 = kTRUE;
18 }
PndPythia8Generator::~PndPythia8Generator ( )
virtual

destructor

Definition at line 55 of file PndPythia8Generator.cxx.

56 {
57 }

Member Function Documentation

PndPythia8Generator::ClassDef ( PndPythia8Generator  ,
 
)
protected
Bool_t PndPythia8Generator::Init ( )
virtual

Definition at line 22 of file PndPythia8Generator.cxx.

References jj.

23 {
24  if (fUseRandom1) fRandomEngine = new PyTr1Rng();
25  if (fUseRandom3) fRandomEngine = new PyTr3Rng();
26 
27  fPythia.setRndmEnginePtr(fRandomEngine);
28 
29  // Set Parameters
30  for(Int_t jj=0;jj<fPar_it;jj++){
31  fPythia.readString(fParams[jj]);
32  cout<<"fPythia.readString(\""<<fParams[jj]<<"\")"<<endl;
33  }
34  cout<<"Beam Momentum "<<fMom<<endl;
35 
36  // fPythia.init(-2212, 2212, 0., 0., fMom, 0., 0., 0.);
37  // Settings according to the obsolete init function
38  fPythia.settings.mode("Beams:idA", -2212);
39  fPythia.settings.mode("Beams:idB", 2212);
40  fPythia.settings.mode("Beams:frameType", 3);
41  fPythia.settings.parm("Beams:pxA", 0.);
42  fPythia.settings.parm("Beams:pyA", 0.);
43  fPythia.settings.parm("Beams:pzA", fMom);
44  fPythia.settings.parm("Beams:pxB", 0.);
45  fPythia.settings.parm("Beams:pyB", 0.);
46  fPythia.settings.parm("Beams:pzB", 0.);
47  fPythia.init();
48 
49  return kTRUE;
50 }
void PndPythia8Generator::Print ( )

Definition at line 94 of file PndPythia8Generator.cxx.

94  {
95  fPythia.settings.listAll();
96 }
Bool_t PndPythia8Generator::ReadEvent ( FairPrimaryGenerator *  cpg)

public method ReadEvent

Definition at line 61 of file PndPythia8Generator.cxx.

References Double_t, and i.

62 {
63  Int_t npart = 0;
64  while(npart == 0)
65  {
66  fPythia.next();
67  for(int i=0; i<fPythia.event.size(); i++)
68  {
69  if(fPythia.event[i].isFinal())
70  {
71  npart++;
72  };
73  };
74  };
75 
76  for(Int_t ii=0; ii<fPythia.event.size(); ii++)
77  if(fPythia.event[ii].isFinal())
78  {
79  cpg->AddTrack((Int_t)fPythia.event[ii].id(),
80  (Double_t)fPythia.event[ii].px(),(Double_t)fPythia.event[ii].py(),(Double_t)fPythia.event[ii].pz(),
81  0.,0.,0.);
82  };
83 
84  return kTRUE;
85 }
Int_t i
Definition: run_full.C:25
Double_t
void PndPythia8Generator::SetMom ( Double_t  mom)
inline

Definition at line 63 of file PndPythia8Generator.h.

References mom.

Referenced by sim_muo_P8().

63 { fMom = mom; };
Double_t mom
Definition: plot_dirc.C:14
void PndPythia8Generator::SetParameters ( char *  par)

Definition at line 87 of file PndPythia8Generator.cxx.

References par.

Referenced by sim_muo_P8().

88 {
89  fParams[fPar_it] = par;
90  fPar_it++;
91 }
Double_t par[3]
void PndPythia8Generator::UseRandom1 ( )
inline

Definition at line 64 of file PndPythia8Generator.h.

64 { fUseRandom1 = kTRUE; fUseRandom3 = kFALSE; };
void PndPythia8Generator::UseRandom3 ( )
inline

Definition at line 65 of file PndPythia8Generator.h.

Referenced by sim_muo_P8().

65 { fUseRandom1 = kFALSE; fUseRandom3 = kTRUE; };

Member Data Documentation

Double_t PndPythia8Generator::fMom
protected

Definition at line 75 of file PndPythia8Generator.h.

Int_t PndPythia8Generator::fPar_it
protected

Definition at line 76 of file PndPythia8Generator.h.

char* PndPythia8Generator::fParams[100]
private

Definition at line 71 of file PndPythia8Generator.h.

Pythia PndPythia8Generator::fPythia
private

Definition at line 65 of file PndPythia8Generator.h.

RndmEngine* PndPythia8Generator::fRandomEngine
private

Definition at line 70 of file PndPythia8Generator.h.

Bool_t PndPythia8Generator::fUseRandom1
protected

Definition at line 77 of file PndPythia8Generator.h.

Bool_t PndPythia8Generator::fUseRandom3
protected

Definition at line 78 of file PndPythia8Generator.h.


The documentation for this class was generated from the following files: