// ---------------------------------------------------- // This file belongs to the ray tracing framework // for the use with Cherenkov detectors // // created 2007 //----------------------------------------------------- #include "PndDrcEffiPerfect.h" #include "PndDrcSurfAbs.h" #include "PndDrcOptReflAbs.h" #include "PndDrcOptDev.h" // //#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 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; //---------------------------------------------------------------------- PndDrcSurfAbs::PndDrcSurfAbs() { fName = "unnamed PndDrcSurfAbs"; fVerbosity = 0; fCoupledFlag = false; fPrintColor = 42;//light brown fReflectivity = 0; fCopyNumber = 0; fPixel = false; fInternal = false; fFresnel = true; fEffiCathode = new PndDrcEffiPerfect(); fPixelPoint = XYZPoint(0,0,0); fPixelCorr = false; } //---------------------------------------------------------------------- PndDrcSurfAbs::~PndDrcSurfAbs() { delete fReflectivity; } //---------------------------------------------------------------------- void PndDrcSurfAbs::Copy(const PndDrcSurfAbs& s) { fCopyNumber = s.fCopyNumber; fCoupledFlag = false; // no coupled lists if (s.fVerbosity>=5) cout<<" PndDrcSurfAbs:copy: clear couplings."<Clone(); fPixel = s.fPixel; fInternal = s.fInternal; fFresnel = s.fFresnel; if (s.Effi()) fEffiCathode = (s.Effi())->Clone(); fPixelPoint = s.fPixelPoint; fPixelCorr = s.fPixelCorr; } //---------------------------------------------------------------------- PndDrcSurfAbs::PndDrcSurfAbs(const PndDrcSurfAbs& s) { if (s.fVerbosity>=1) cout<<" PndDrcSurfAbs::PndDrcSurfAbs" <<"(const PndDrcSurfAbs&) name,copy: " <=1) cout<<" PndDrcSurfAbs::operator=" <<"(const PndDrcSurfAbs&) name,copy: " <=3) { cout<<" PndDrcSurfAbs::setCoupled"<=4) cout<<" set coupling for "<Name()<=3) cout<<" PndDrcSurfAbs::setReflectivity() name="<=3) cout<<" PndDrcSurfAbs::clearReflectivity() name="<Clone(); } } //---------------------------------------------------------------------- PndDrcEffiAbs* PndDrcSurfAbs::Effi() const { //static PndDrcEffiAbs* dummy = 0; // //cerr<<" *** PndDrcOptDev::optMaterial: This function must be overloaded when\n"; //cerr<<" using pixels with efficiency. Abort.\n"; //exit(EXIT_FAILURE); return fEffiCathode; }