00001 #ifndef ATLFAST_RBIN_H 00002 #define ATLFAST_RBIN_H 00003 00004 #include <map> 00005 #include "AtlfastAlgs/BremPTScaleBin.h" 00006 #include "AtlfastAlgs/TestValue.h" 00007 #include "CLHEP/Random/JamesRandom.h" 00008 00009 namespace Atlfast{ 00010 00011 class BremRBin{ 00012 00013 public: 00014 BremRBin(int randSeed); 00015 BremRBin(const BremRBin&); 00016 BremRBin& operator=(const BremRBin&); 00017 ~BremRBin(); 00018 00019 void addBin(TestValue, BremPTScaleBin bin); 00020 double calculatePScale() const; 00021 const map<TestValue, BremPTScaleBin>* bins() const; 00022 00023 private: 00024 map<TestValue, BremPTScaleBin> m_ptBins; 00025 HepJamesRandom* m_randomEngine; 00026 00027 }; 00028 00029 MsgStream& operator<<(MsgStream& s, BremRBin& bin); 00030 00031 }//namepace 00032 #endif 00033 00034 00035 00036 00037 00038