PandaRoot
PndPiPiGenerator.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //----------------------------------------------------//
14 // PndPiPiGenerator header file //
15 //----------------------------------------------------//
16 
23 #ifndef PND_PIPIGENERATOR_H
24 #define PND_PIPIGENERATOR_H
25 
26 // c/c++
27 #include <stdlib.h>
28 #include <iostream>
29 #include <fstream>
30 #include <sstream>
31 #include <cmath>
32 #include <algorithm>
33 #include <time.h>
34 
35 // ranlux
36 #include "ranlxs.h"
37 #include "ranlxd.h"
38 
39 void ranlxs(float r[], int n);
40 void ranlxd(double r[], int n);
41 
42 void rlxs_init(int level, int seed);
43 void rlxd_init(int level, int seed);
44 
45 // mz (general)
46 #include "mzparameters.h"
47 #include "mzfunctions.h"
48 
49 // mz for pp_to_pipi_vandewi
51 
52 #include "FairGenerator.h"
53 
54 using namespace std;
55 
56 class FairPrimaryGenerator;
57 
58 class PndPiPiGenerator : public FairGenerator {
59  public:
62 
64  virtual ~PndPiPiGenerator();
65 
67  void SetBeamMom(Double_t in_P) { P = in_P; }; // set pbar momentum
68  void SetSeed(Int_t in_seed) { seed = in_seed; }; // set seed
69  void SetCosThetaMin(Double_t in_cos_theta_min) { cos_theta_min = in_cos_theta_min; }; // set cos(theta*) min in the pbarp CM frame
70  void SetCosThetaMax(Double_t in_cos_theta_max) { cos_theta_max = in_cos_theta_max; }; // set cos(theta*) max in the pbarp CM frame
71 
73  virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen);
74 
76  Bool_t Init();
77 
78  ClassDef(PndPiPiGenerator, 1);
79 
80  Double_t P; // pbar momentum
81  Int_t seed; // seed
82  Double_t cos_theta_min; // cos(theta*) min in the pbarp CM frame
83  Double_t cos_theta_max; // cos(theta*) max in the pbarp CM frame
84  Double_t piplus_p[4]; // lab frame: 4-mom pi+
85  Double_t piminus_p[4]; // lab frame: 4-mom pi-
86 };
87 
88 #endif
void SetBeamMom(Double_t in_P)
void ranlxd(double r[], int n)
void SetCosThetaMax(Double_t in_cos_theta_max)
STL namespace.
void SetCosThetaMin(Double_t in_cos_theta_min)
void ranlxs(float r[], int n)
void rlxs_init(int level, int seed)
void rlxd_init(int level, int seed)
void SetSeed(Int_t in_seed)