FairRoot/PandaRoot
PndGiBuuGenerator.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndGiBuuGenerator header file -----
3 // ----- Created 02/08/12 by T.Stockmanns -----
4 // -------------------------------------------------------------------------
5 
15 #ifndef PND_GiBuuGENERATOR_H
16 #define PND_GiBuuGENERATOR_H
17 
18 
19 #include "FairGenerator.h"
20 #include "PndGiBuuDecayerAbs.h"
21 
22 #include "TString.h"
23 #include <fstream>
24 #include <map>
25 
26 class FairPrimaryGenerator;
27 
28 
29 
30 class PndGiBuuGenerator : public FairGenerator
31 {
32 
33  public:
34 
35 
40  PndGiBuuGenerator(const Char_t* fileName, const Char_t* pidDataFileName);
41 
42 
44  virtual ~PndGiBuuGenerator();
45 
46 
51  virtual Bool_t ReadEvent(FairPrimaryGenerator* primGen);
52 
53  void RegisterDecayer(Int_t pdgCode, PndGiBuuDecayerAbs* decayer){ fDecayerMap[pdgCode] = decayer; }
54 
55  protected:
56  Bool_t Init();
57 
58  private:
61 
62  void FillPidMap();
63  Int_t GetPdgParticleId(Int_t GiBuuId, Int_t charge);
64  void WriteoutDecayParticle(Int_t oldEventNr, Int_t oldRunId, FairPrimaryGenerator* primGen);
65 
66  std::map<std::pair<Int_t, Int_t>, Int_t > fMapGiBuuToPdg;
67 
68  Int_t fEvent;
69  Int_t fRunId;
72  std::ifstream *fInputAsciiFile;
73 
74  std::map<Int_t, PndGiBuuDecayerAbs*> fDecayerMap;
75 
77  Int_t fPdg;
78 
79  void CloseInput();
80 
81 
83 
84 };
85 
86 #endif
TString fFileName
Run number in GiBuu.
std::map< std::pair< Int_t, Int_t >, Int_t > fMapGiBuuToPdg
void CloseInput()
PDG code of particle.
FairPrimaryGenerator * primGen
Definition: sim_emc_apd.C:81
ClassDef(PndGiBuuGenerator, 1)
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
Int_t fPdg
Momentum of particle.
Double_t
Int_t fRunId
Event number.
void WriteoutDecayParticle(Int_t oldEventNr, Int_t oldRunId, FairPrimaryGenerator *primGen)
Int_t GetPdgParticleId(Int_t GiBuuId, Int_t charge)
void RegisterDecayer(Int_t pdgCode, PndGiBuuDecayerAbs *decayer)
TString fPidDataFileName
Input file name.
std::map< Int_t, PndGiBuuDecayerAbs * > fDecayerMap
std::ifstream * fInputAsciiFile
Input Pid data file name.