#ifndef __DRCOPTMATNLAK33A_H__ #define __DRCOPTMATNLAK33A_H__ /*! \brief Class for optical material representation. In this case the glass N-LaK33A (Lanthanum crown) from Schott. See http://www.schott.com/optics_devices/german/products/flash/abbediagramm_flash.html */ class DrcOptMatNLAK33A : public DrcOptMatAbs { protected: //! Sellmeier coefficient for refractive index. double m_B1; //! Sellmeier coefficient for refractive index. double m_B2; //! Sellmeier coefficient for refractive index. double m_B3; //! Sellmeier coefficient for refractive index. double m_C1; //! Sellmeier coefficient for refractive index. double m_C2; //! Sellmeier coefficient for refractive index. double m_C3; //! Random generator. mutable TRandom m_ran; private: /*! \brief Auxiliary function for assignment operator and copy constructor.. \param s The object to copy. */ void copy(const DrcOptMatNLAK33A& s); public: //! Empty constructor. DrcOptMatNLAK33A(); /*! Copy constructor. /param Object to copy. */ DrcOptMatNLAK33A(const DrcOptMatNLAK33A& mat); /*! Assignment operator. /param Object to assign. */ DrcOptMatNLAK33A& operator=(const DrcOptMatNLAK33A& mat); // Implementation of pure virtual functions from base class. DrcOptMatNLAK33A* clone() const; double refIndex(const double lambda) const; double refIndexDeriv(const double lambda) const; bool absorptionFlag(double lambda, double length) const; }; #endif