#include using std::cout; using std::cerr; using std::cin; using std::endl; #include #include "TObject.h" #include "TVector3.h" #include "TRandom.h" #include "Math/Vector3D.h" using ROOT::Math::XYZVector; #include "Math/Point3D.h" using ROOT::Math::XYZPoint; #include "Math/Transform3D.h" using ROOT::Math::Transform3D; #include "Math/RotationX.h" using ROOT::Math::RotationX; #include "Math/RotationY.h" using ROOT::Math::RotationY; #include "Math/RotationZ.h" using ROOT::Math::RotationZ; #include "Math/Rotation3D.h" using ROOT::Math::Rotation3D; #include "DrcPhoton.h" #include "DrcOptReflAbs.h" #include "DrcOptReflPerfect.h" //---------------------------------------------------------------------- DrcOptReflPerfect* DrcOptReflPerfect::clone() const { return new DrcOptReflPerfect(*this); } //---------------------------------------------------------------------- const Drc::Reflectivity DrcOptReflPerfect::reflectivity(DrcPhoton& ph, XYZVector normal) const { //cout<<"DrcOptReflPerfect::reflectivity: "//### // <