PandaRoot
PndLepLepGenerator.h
Go to the documentation of this file.
1 //----------------------------------------------------//
2 // PndLepLepGenerator header file //
3 //----------------------------------------------------//
4 
11 #ifndef PND_LEPLEPGENERATOR_H
12 #define PND_LEPLEPGENERATOR_H
13 
14 // c/c++
15 #include <stdlib.h>
16 #include <iostream>
17 #include <fstream>
18 #include <sstream>
19 #include <cmath>
20 #include <algorithm>
21 #include <time.h>
22 
23 // ranlux
24 #include "ranlxs.h"
25 #include "ranlxd.h"
26 
27 void ranlxs(float r[], int n);
28 void ranlxd(double r[], int n);
29 
30 void rlxs_init(int level, int seed);
31 void rlxd_init(int level, int seed);
32 
33 // mz (general)
34 #include "mzparameters.h"
35 #include "mzfunctions.h"
36 
37 // mz for pp_to_pipi_vandewi
39 
40 #include "FairGenerator.h"
41 
42 using namespace std;
43 
44 class FairPrimaryGenerator;
45 
46 class PndLepLepGenerator : public FairGenerator {
47  public:
50 
52  virtual ~PndLepLepGenerator();
53 
55  void SetBeamMom(Double_t in_P) { P = in_P; }; // set pbar momentum
56  void SetSeed(Int_t in_seed) { seed = in_seed; }; // set seed
57  void SetParticleID(Int_t in_particleID) { particleID = in_particleID; }; // particle ID (0 - electron, 1 - muon, 2 - tau)
58  void SetGeGmRatio(Int_t in_gegm) { gegm = in_gegm; }; // GE/GM ratio (|GE|/|GM| = 0,1,3)
59  void SetCosThetaMin(Double_t in_cos_theta_min) { cos_theta_min = in_cos_theta_min; }; // set cos(theta*) min in the pbarp CM frame
60  void SetCosThetaMax(Double_t in_cos_theta_max) { cos_theta_max = in_cos_theta_max; }; // set cos(theta*) max in the pbarp CM frame
61 
63  virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen);
64 
66  Bool_t Init();
67 
68  ClassDef(PndLepLepGenerator, 1);
69 
70  Double_t P; // pbar momentum
71  Int_t seed; // seed
72  Int_t particleID; // particle ID (0 - electron, 1 - muon, 2 - tau)
73  Int_t PDGParticleID; // PDG particle ID
74  Int_t gegm; // GE/GM ratio (|GE|/|GM| = 0,1,3)
75  Double_t cos_theta_min; // cos(theta*) min in the pbarp CM frame
76  Double_t cos_theta_max; // cos(theta*) max in the pbarp CM frame
77  Double_t lepplus_p[4]; // lab frame: 4-momentum of a lepton
78  Double_t lepminus_p[4]; // lab frame: 4-momentum of a lepton
79 };
80 
81 #endif
void SetSeed(Int_t in_seed)
void SetBeamMom(Double_t in_P)
STL namespace.
void ranlxd(double r[], int n)
void SetGeGmRatio(Int_t in_gegm)
void ranlxs(float r[], int n)
void rlxd_init(int level, int seed)
void SetCosThetaMax(Double_t in_cos_theta_max)
void SetParticleID(Int_t in_particleID)
void SetCosThetaMin(Double_t in_cos_theta_min)
void rlxs_init(int level, int seed)