#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 "DrcOptMatAbs.h" #include "DrcOptMatLithotecQ0.h" //---------------------------------------------------------------------- DrcOptMatLithotecQ0::DrcOptMatLithotecQ0() { m_f1 = 28.17847; m_e1 = 10.28086; m_f2 = 207.5092; m_e2 = 15.77682; } //---------------------------------------------------------------------- DrcOptMatLithotecQ0* DrcOptMatLithotecQ0::clone() const { return new DrcOptMatLithotecQ0(*this); } //---------------------------------------------------------------------- void DrcOptMatLithotecQ0::copy(const DrcOptMatLithotecQ0& 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; }//---------------------------------------------------------------------- DrcOptMatLithotecQ0::DrcOptMatLithotecQ0(const DrcOptMatLithotecQ0& mat) : DrcOptMatAbs(mat) { if (mat.m_verbosity>=1) cout<<" DrcOptMatLithotecQ0::DrcOptMatLithotecQ0" <<"(const DrcOptMatLithotecQ0&) " <=1) cout<<" DrcOptMatLithotecQ0::operator=" <<"(const DrcOptMatLithotecQ0&) " <((*this)) = mat; // assignment of base class part. copy(mat); } return *this; } //---------------------------------------------------------------------- double DrcOptMatLithotecQ0::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<<" DrcOptMatLithotecQ0::refIndex: lambda = "<trans) { return true; // absorbed } return false; // no absorption. }