MpdPHQMDGenerator.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /**
  2. *@class MpdPHQMDGenerator
  3. *@author V.Kireyeu, V. Voronyuk
  4. **/
  5. #ifndef Mpd_PHQMDGENERATOR_H
  6. #define Mpd_PHQMDGENERATOR_H
  7. #ifndef __CINT__
  8. #include <zlib.h>
  9. #endif
  10. #include <TRandom2.h>
  11. #include "FairGenerator.h"
  12. #include "FairPrimaryGenerator.h"
  13. class MpdPHQMDGenerator : public FairGenerator
  14. {
  15. public:
  16. MpdPHQMDGenerator();
  17. /** Default constructor **/
  18. MpdPHQMDGenerator(const char *filename, const char *f79name);
  19. /** Destructor **/
  20. virtual ~MpdPHQMDGenerator();
  21. /** Read event **/
  22. Bool_t ReadEvent(FairPrimaryGenerator *primGen);
  23. /** Skip n events, return kTRUE if successful **/
  24. Bool_t SkipEvents(Int_t n);
  25. /** Set fixed reaction plane angle **/
  26. void SetPsiRP(Double_t PsiRP) {fPsiRP=PsiRP; fisRP=kFALSE;};
  27. /** Calculate nuclei or baryon PDG **/
  28. Int_t BaryonPDG(Int_t N, Int_t Z, Int_t L, Int_t S, Float_t mass);
  29. private:
  30. Int_t fntr; //! number of tracks in given event
  31. Int_t fntr79; //! number of tracks in given event
  32. Float_t fb; //! impact parameter in given event
  33. #ifndef __CINT__
  34. gzFile fgzFile; //! file
  35. gzFile fgzFile79; //! fort.79 output file
  36. #endif
  37. char fbuffer[256]; //! reading buffer
  38. char fbuffer79[256]; //! reading buffer for fort.79 file
  39. TRandom2 *frandom; //!
  40. Double_t fPsiRP; //! reaction plane angle
  41. Bool_t fisRP; //! random/fixed reaction plane
  42. Bool_t ReadHeader(); //! read event header, return kTRUE if successful
  43. void SkipTrack(); //! skip one track
  44. const Float_t kSigmaPMass = 0.1189E+01;
  45. const Float_t kSigmaNMass = 0.1192E+01;
  46. const Float_t kSigmaMMass = 0.1197E+01;
  47. Float_t kProtonMass;
  48. Float_t kNeutronMass;
  49. Float_t kLambdaMass;
  50. ClassDef(MpdPHQMDGenerator,0);
  51. };
  52. #endif