1 #ifndef EDepSim_VConstrainedPositionGenerator_hh_seen     2 #define EDepSim_VConstrainedPositionGenerator_hh_seen     6 #include <G4ThreeVector.hh>    12 namespace EDepSim {
class VConstrainedPositionGenerator;}
    26         virtual bool Apply(
const G4LorentzVector& ) {
return true;}
 
G4ThreeVector fMinimumCorner
The lower boundary of the volume to be sampled for the vertex. 
 
virtual bool ValidPosition(const G4LorentzVector &vtx)
Return true if the vertex is valid. This is used in the derived class. 
 
void CheckMaxZ(double z)
Check that the vertex Z position is less than some value. 
 
G4String fSampleVolume
The name of the volume to be sampled. 
 
static const std::string volume[nvol]
 
void FindLimits()
Find the limits of the volume to be sampled for a good vertex. 
 
bool fLimitsFound
True if the limits have been initialized. 
 
G4LorentzVector TrialPosition()
Generate a trial position uniformly in the sample box. 
 
void CheckVolumeName(const G4String &name)
 
std::vector< PositionTest * > PositionTests
 
Construct a module from components. 
 
void CheckMaxX(double x)
Check that the vertex X position is less than some value. 
 
void SetVolumeName(const G4String &volume)
Set the name of the volume to be sampled for a vertex. 
 
void CheckMinY(double y)
Check that the vertex Y position is greater than some value. 
 
void CheckVolumeMaterial(const G4String &name)
Check that the vertex is inside of a material specified by name. 
 
virtual bool Apply(const G4LorentzVector &)
 
virtual bool ForcePosition()
 
G4ThreeVector fMaximumCorner
The upper boundary of the volume to be sampled for the vertex. 
 
void CheckMaxY(double y)
Check that the vertex Y position is less than some value. 
 
void CheckNotVolumeName(const G4String &name)
 
void CheckMinX(double x)
Check that the vertex X position is greater than some value. 
 
VConstrainedPositionGenerator(const G4String &name)
 
PositionTests fPositionTests
The vertex tests to apply. 
 
void ClearPositionTests(void)
Clear the current set of vertex checks. 
 
virtual ~VConstrainedPositionGenerator()
 
void CheckMinZ(double z)
Check that the vertex Z position is greater than some value. 
 
void CheckNotVolumeMaterial(const G4String &name)
Check that the vertex is not inside of a material specified by name.