#include using std::cout; using std::cerr; using std::cin; using std::endl; #include using std::valarray; #include using std::fstream; #include using std::string; #include using std::list; #include "TObject.h" #include "TVector3.h" #include "TRandom.h" #include "PndDrcOptMatAbs.h" #include "PndDrcOptMatLithotecQ0.h" //---------------------------------------------------------------------- PndDrcOptMatLithotecQ0::PndDrcOptMatLithotecQ0() { m_f1 = 28.17847; m_e1 = 10.28086; m_f2 = 207.5092; m_e2 = 15.77682; } //---------------------------------------------------------------------- PndDrcOptMatLithotecQ0* PndDrcOptMatLithotecQ0::clone() const { return new PndDrcOptMatLithotecQ0(*this); } //---------------------------------------------------------------------- void PndDrcOptMatLithotecQ0::copy(const PndDrcOptMatLithotecQ0& mat) { m_f1 = mat.m_f1; m_e1 = mat.m_e1; m_f2 = mat.m_f2; m_e2 = mat.m_e2; m_ran = mat.m_ran; }//---------------------------------------------------------------------- PndDrcOptMatLithotecQ0::PndDrcOptMatLithotecQ0(const PndDrcOptMatLithotecQ0& mat) : PndDrcOptMatAbs(mat) { if (mat.m_verbosity>=1) cout<<" PndDrcOptMatLithotecQ0::PndDrcOptMatLithotecQ0" <<"(const PndDrcOptMatLithotecQ0&) " <=1) cout<<" PndDrcOptMatLithotecQ0::operator=" <<"(const PndDrcOptMatLithotecQ0&) " <((*this)) = mat; // assignment of base class part. copy(mat); } return *this; } //---------------------------------------------------------------------- double PndDrcOptMatLithotecQ0::refIndex(const double lambda) const { static const double pi = 3.1415926535; static const double hbarc = 197.3269602; // Mev fm if (lambda<0) return 1.47; // average value. //cout<<" PndDrcOptMatLithotecQ0::refIndex: lambda = "<trans) { return true; // absorbed } return false; // no absorption. }