/////////////////////////////////////////////////////////////////////////////// /// \class RAT::DetectorMessenger /// /// \brief The messenger class detector aspects, geo and materials. /// /// \author P G Jones, /// /// REVISION HISTORY:\n /// 2014-07-28 : P Jones - new file, roughly replaces GLG4DebugMessenger.\n /// /// \details Introduces commands to output the materials, surface and geometry /// properties in the simulation. /// /////////////////////////////////////////////////////////////////////////////// #ifndef __RAT_DetectorMessenger_hh__ #define __RAT_DetectorMessenger_hh__ #include #include class G4UIdirectory; class G4UIcmdWithABool; class G4UIcmdWithAString; namespace RAT { class Detector; class DetectorMessenger: public G4UImessenger { public: /// Construct this messenger with a pointer to the relevant detector instance /// /// @param[in] detector for the commands to act upon DetectorMessenger( Detector* const detector ); /// Cleanup commands ~DetectorMessenger(); /// Called when a user command is executed /// /// @param[in] command specified by user /// @param[in] value specified by user void SetNewValue( G4UIcommand* command, G4String value ); private: Detector* fDetector; ///< Pointer to the detector instance this acts on G4UIdirectory* fDetectorDir; ///< The UI directory for detector commands G4UIcmdWithAString* fMaterialCmd; ///< Command to output material properties G4UIcmdWithAString* fGeometryCmd; ///< Command to output geometry properties G4UIcmdWithAString* fSurfaceCmd; ///< Command to output surface properties G4UIcmdWithABool* fCheckOverlapsCmd; //< Command to force overlap checking }; } //::RAT #endif