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