#ifndef __PNDDRCOPTBRIK_H__ #define __PNDDRCOPTBRIK_H__ /*! \brief Class for optical device representation of a brick. The naming of the surfaces is as shown here: \image html DrcOptBrik1.png */ class PndDrcOptBrik : public PndDrcOptVol { public: PndDrcOptBrik(); //!< Empty constructor /*! \brief Construct brick. \param dx half-length of the box along the x-axis. \param dy half-length of the box along the y-axis. \param dz half-length of the box along the z-axis. */ PndDrcOptBrik(double dx, double dy, double dz); /*! \brief Set size of brick. \param dx half-length of the box along the x-axis. \param dy half-length of the box along the y-axis. \param dz half-length of the box along the z-axis. */ void setSize(double dx, double dy, double dz); /*! \brief Pointer to surface. If surface is not found the null pointer is returned. If the surface name occurs more than once, the program stops. \param name of surface. \return pointer to surface. */ PndDrcSurfAbs* const surface(string name); }; #endif