00001 // Dumper for FastShower 00002 // 00003 // 00004 00005 #ifndef FASTSHOWER_SHOWERDEMODUMPER_H 00006 #define FASTSHOWER_SHOWERDEMODUMPER_H 00007 00008 #ifndef FASTSHOWER_ISHOWERDUMPER_H 00009 #include "FastShowerUtils/IShowerDumper.h" 00010 #endif 00011 00012 00013 #ifndef STD_FSTREAM_H 00014 #define STD_FSTREAM_H 00015 #include <fstream> 00016 #endif 00017 00018 #ifndef STD_STRING_H 00019 #define STD_STRING_H 00020 #include <string> 00021 #endif 00022 00023 // 00024 namespace FastShower{ 00025 00026 class ParticleInfo; 00027 00028 class ShowerDemoDumper: virtual public IShowerDumper{ 00029 public: 00030 00031 ShowerDemoDumper(int nEvents, 00032 std::string key, int pdgId, 00033 double minEta, double maxEta, 00034 double energy); 00035 00036 virtual ~ShowerDemoDumper(){}; 00037 00038 virtual void initialise(const std::string); 00039 virtual void execute(); 00040 virtual void finalise() const; 00041 00042 virtual GridletForger* gridletForger() const; 00043 private: 00044 ParticleInfo makePI(int pdgId, double energy) const; 00045 int m_nEvents; 00046 int m_pdgId; 00047 std::string m_key; 00048 double m_minEta; 00049 double m_maxEta; 00050 double m_energy; 00051 00052 GridletForger* m_gridletForger; 00053 std::ostream m_ofile; 00054 }; 00055 } // end of namespace bracket 00056 #endif 00057 00058 00059 00060 00061 00062