//////////////////////////////////////////////////////////////////// // PosGen_LineRotate // // Generate event vertices at random points along a line in x-z // plane, then rotate through a random phi. // // Matthew Mottram -- contact person // // REVISION HISTORY: // - 2015/12/01 : Matt Mottram - first instance // //////////////////////////////////////////////////////////////////// #ifndef __RAT_PosGen_LineRotate__ #define __RAT_PosGen_LineRotate__ #include #include namespace RAT { class PosGen_LineRotate : public GLG4PosGen { public: /// Constructor sets the default db name PosGen_LineRotate( const std::string& dbname = std::string( "line" ) ) : GLG4PosGen( dbname ) {} /// Destructor virtual ~PosGen_LineRotate() {} /// Abstract interface for generating the position virtual void GeneratePosition( G4ThreeVector& argResult ); /// Abstract interface for setting the state virtual void SetState( G4String newValues ); /// Abstract interface for getting the state virtual G4String GetState() const; protected: G4ThreeVector fPoint1; G4ThreeVector fPoint2; }; } // namespace RAT #endif