//////////////////////////////////////////////////////////////////////// /// \class RAT::CuboidPMTConstructor /// /// \brief Constructs a cube shape PMT /// /// \author Phil Jones /// \author Aksel Hallin -- contact person /// /// REVISION HISTORY:\n /// 03/12 : P.Jones - First Revision, new file. \n /// /// \details Extends PMTConstructor to produce a cube shaped PMT. /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_CuboidPMTConstructor__ #define __RAT_CuboidPMTConstructor__ #include #include #include namespace RAT { class CuboidPMTConstructor : public PMTConstructor { public: /// Constructor for the class, needs parameters and a name CuboidPMTConstructor( const std::string& prefix, ///< Prefix string const PMTConstructorParams& params ///< Parameters that define the pmt ); /// Construct the G4LogicalVolume that is a RAT PMT void ConstructLogical(); /// Returns the Max height above the pmt equator of the bucket double GetMaxHeight(); /// Returns the Max depth below the pmt equator of the bucket (note returns a -ive number) double GetMaxDepth(); /// Returns the Max radius double GetHexRadius(); /// Returns the x dimension width double GetXWidth(); /// Returns the y dimension width double GetYWidth(); private: ///To prevent usage CuboidPMTConstructor(); }; } //::RAT #endif