//////////////////////////////////////////////////////////////////////// /// \class RAT::PosGen_FillShellRopes /// /// \brief Generate event vertices at random points within a spherical shell and contained in one of the two ropes systems /// /// \author Juan-Pablo Yanez (j.p.yanez@ualberta.ca) /// /// REVISION HISTORY: /// - 2018-10-04: Used FillShell generator as a template /// /// \details Syntax: /generator/pos/set (hold_up or hold_down only) //////////////////////////////////////////////////////////////////////// #ifndef __RAT_PosGen_FillShellRopes__ #define __RAT_PosGen_FillShellRopes__ #include #include #include namespace RAT { class PosGen_FillShellRopes : public GLG4PosGen { public: PosGen_FillShellRopes(const char* arg_dbname = "fillshellholdup"); virtual void GeneratePosition(G4ThreeVector& argResult); void SetState(G4String newValues); G4String GetState() const; protected: //G4VPhysicalVolume* FindPhysVolume(const std::string vol_name); G4ThreeVector pos; std::string volname; double ri; double ro; double periodicity; double mincosphi; double maxcostheta; int max_iterations; }; } // namespace RAT #endif