FairRoot/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 {
48 public:
51 
53  virtual ~PndLepLepGenerator();
54 
56  void SetBeamMom(Double_t in_P) {P = in_P;}; // set pbar momentum
57  void SetSeed(Int_t in_seed) {seed = in_seed;}; // set seed
58  void SetParticleID(Int_t in_particleID) {particleID = in_particleID;}; // particle ID (0 - electron, 1 - muon, 2 - tau)
59  void SetGeGmRatio(Int_t in_gegm) {gegm = in_gegm;}; // GE/GM ratio (|GE|/|GM| = 0,1,3)
60  void SetCosThetaMin(Double_t in_cos_theta_min) {cos_theta_min = in_cos_theta_min;}; // set cos(theta*) min in the pbarp CM frame
61  void SetCosThetaMax(Double_t in_cos_theta_max) {cos_theta_max = in_cos_theta_max;}; // set cos(theta*) max in the pbarp CM frame
62 
64  virtual Bool_t ReadEvent(FairPrimaryGenerator* primGen);
65 
67  Bool_t Init();
68 
69  ClassDef(PndLepLepGenerator,1);
70 
71  Double_t P; // pbar momentum
72  Int_t seed; // seed
73  Int_t particleID; // particle ID (0 - electron, 1 - muon, 2 - tau)
74  Int_t PDGParticleID; // PDG particle ID
75  Int_t gegm; // GE/GM ratio (|GE|/|GM| = 0,1,3)
76  Double_t cos_theta_min; // cos(theta*) min in the pbarp CM frame
77  Double_t cos_theta_max; // cos(theta*) max in the pbarp CM frame
78  Double_t lepplus_p[4]; // lab frame: 4-momentum of a lepton
79  Double_t lepminus_p[4]; // lab frame: 4-momentum of a lepton
80 };
81 
82 #endif
void ranlxd(double r[], int n)
Definition: ranlxd.cxx:571
void rlxd_init(int level, int seed)
Definition: ranlxd.cxx:501
double r
Definition: RiemannTest.C:14
void SetSeed(Int_t in_seed)
void SetBeamMom(Double_t in_P)
int n
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
void ranlxs(float r[], int n)
Definition: ranlxs.cxx:566
void SetGeGmRatio(Int_t in_gegm)
Double_t
unsigned int seed
void SetCosThetaMax(Double_t in_cos_theta_max)
GeV c P
fRun Init()
Definition: NHitsPerEvent.C:20
void SetParticleID(Int_t in_particleID)
void SetCosThetaMin(Double_t in_cos_theta_min)
void rlxs_init(int level, int seed)
Definition: ranlxs.cxx:495