BmnRoot
Loading...
Searching...
No Matches
MpdUrqmdGenerator.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- MpdUrqmdGenerator header file -----
3// ----- Created 11/06/04 by V. Friese / D.Bertini -----
4// -------------------------------------------------------------------------
5
15#define GZIP_SUPPORT // version with gz support
16
17#ifndef MPDURQMDGENERATOR_H
18#define MPDURQMDGENERATOR_H
19
20#include "FairGenerator.h"
21
22#include <fstream>
23#include <map>
24
25#ifdef GZIP_SUPPORT
26#ifndef __CLING__
27#include <zlib.h>
28#endif
29#endif
30
31class TVirtualMCStack;
32class FairPrimaryGenerator;
33
34class MpdUrqmdGenerator : public FairGenerator
35{
36 public:
39
43 MpdUrqmdGenerator(const char* fileName);
44
47
53 Bool_t ReadEvent(FairPrimaryGenerator* primGen);
54
55 // Skip some events in file
56 Bool_t SkipEvents(Int_t count);
57
58 void SetEventPlane(Double_t phiMin, Double_t phiMax);
59
60 void SetXYZ(Double32_t x = 0., Double32_t y = 0., Double32_t z = 0.)
61 {
62 fX = x;
63 fY = y;
64 fZ = z;
65 }
66
67 private:
68#ifdef GZIP_SUPPORT
69#ifndef __CLING__
70 gzFile fInputFile;
71#endif
72#else
73 FILE* fInputFile;
74#endif
75
76 std::map<Int_t, Int_t> fParticleTable;
77
78 Double32_t fPhiMin, fPhiMax; // Limits of event plane angle
79 Bool_t fEventPlaneSet; // Flag whether event plane angle is used
80
81 const Char_t* fFileName;
82
83 Double32_t fX, fY, fZ; // Point vertex coordinates [cm]
84
88 void ReadConversionTable();
89
90 MpdUrqmdGenerator(const MpdUrqmdGenerator&) = delete;
91 MpdUrqmdGenerator& operator=(const MpdUrqmdGenerator&) = delete;
92
93 ClassDef(MpdUrqmdGenerator, 1);
94};
95
96#endif
MpdUrqmdGenerator(const char *fileName)
Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Bool_t SkipEvents(Int_t count)
void SetEventPlane(Double_t phiMin, Double_t phiMax)
void SetXYZ(Double32_t x=0., Double32_t y=0., Double32_t z=0.)