Geant4  10.02
G4SPSRandomGenerator Class Reference

Andrea Dotti Feb 2015 Important: This is a shared class between threads. More...

#include <G4SPSRandomGenerator.hh>

+ Collaboration diagram for G4SPSRandomGenerator:

Classes

struct  a_check
 
struct  bweights_t
 

Public Member Functions

 G4SPSRandomGenerator ()
 
 ~G4SPSRandomGenerator ()
 
void SetXBias (G4ThreeVector)
 
void SetYBias (G4ThreeVector)
 
void SetZBias (G4ThreeVector)
 
void SetThetaBias (G4ThreeVector)
 
void SetPhiBias (G4ThreeVector)
 
void SetEnergyBias (G4ThreeVector)
 
void SetPosThetaBias (G4ThreeVector)
 
void SetPosPhiBias (G4ThreeVector)
 
G4double GenRandX ()
 
G4double GenRandY ()
 
G4double GenRandZ ()
 
G4double GenRandTheta ()
 
G4double GenRandPhi ()
 
G4double GenRandEnergy ()
 
G4double GenRandPosTheta ()
 
G4double GenRandPosPhi ()
 
void SetIntensityWeight (G4double weight)
 
G4double GetBiasWeight ()
 
void ReSetHist (G4String)
 
void SetVerbosity (G4int a)
 

Private Attributes

G4Cache< a_checklocal_IPDFXBias
 
G4bool XBias
 
G4bool IPDFXBias
 
G4PhysicsOrderedFreeVector XBiasH
 
G4PhysicsOrderedFreeVector IPDFXBiasH
 
G4Cache< a_checklocal_IPDFYBias
 
G4bool YBias
 
G4bool IPDFYBias
 
G4PhysicsOrderedFreeVector YBiasH
 
G4PhysicsOrderedFreeVector IPDFYBiasH
 
G4Cache< a_checklocal_IPDFZBias
 
G4bool ZBias
 
G4bool IPDFZBias
 
G4PhysicsOrderedFreeVector ZBiasH
 
G4PhysicsOrderedFreeVector IPDFZBiasH
 
G4Cache< a_checklocal_IPDFThetaBias
 
G4bool ThetaBias
 
G4bool IPDFThetaBias
 
G4PhysicsOrderedFreeVector ThetaBiasH
 
G4PhysicsOrderedFreeVector IPDFThetaBiasH
 
G4Cache< a_checklocal_IPDFPhiBias
 
G4bool PhiBias
 
G4bool IPDFPhiBias
 
G4PhysicsOrderedFreeVector PhiBiasH
 
G4PhysicsOrderedFreeVector IPDFPhiBiasH
 
G4Cache< a_checklocal_IPDFEnergyBias
 
G4bool EnergyBias
 
G4bool IPDFEnergyBias
 
G4PhysicsOrderedFreeVector EnergyBiasH
 
G4PhysicsOrderedFreeVector IPDFEnergyBiasH
 
G4Cache< a_checklocal_IPDFPosThetaBias
 
G4bool PosThetaBias
 
G4bool IPDFPosThetaBias
 
G4PhysicsOrderedFreeVector PosThetaBiasH
 
G4PhysicsOrderedFreeVector IPDFPosThetaBiasH
 
G4Cache< a_checklocal_IPDFPosPhiBias
 
G4bool PosPhiBias
 
G4bool IPDFPosPhiBias
 
G4PhysicsOrderedFreeVector PosPhiBiasH
 
G4PhysicsOrderedFreeVector IPDFPosPhiBiasH
 
G4Cache< bweights_tbweights
 
G4int verbosityLevel
 
G4Mutex mutex
 

Detailed Description

Andrea Dotti Feb 2015 Important: This is a shared class between threads.

Only one thread should use the set-methods here. Note that this is exactly what is achieved using UI commands. If you use the set methods to set defaults in your application take care that only one thread is executing them. In addition take care of calling these methods before the run is started Do not use these setters during the event loop

Definition at line 156 of file G4SPSRandomGenerator.hh.

Constructor & Destructor Documentation

G4SPSRandomGenerator::~G4SPSRandomGenerator ( )

Definition at line 98 of file G4SPSRandomGenerator.cc.

References G4MUTEXDESTROY, and mutex.

Member Function Documentation

G4double G4SPSRandomGenerator::GenRandPhi ( )

Definition at line 508 of file G4SPSRandomGenerator.cc.

References bweights, G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFPhiBias, IPDFPhiBiasH, local_IPDFPhiBias, mutex, PhiBias, PhiBiasH, verbosityLevel, and w.

Referenced by G4SPSAngDistribution::GenerateCosineLawFlux(), G4SPSAngDistribution::GenerateIsotropicFlux(), and G4SPSAngDistribution::GenerateUserDefFlux().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SPSRandomGenerator::GenRandPosPhi ( )

Definition at line 693 of file G4SPSRandomGenerator.cc.

References bweights, G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFPosPhiBias, IPDFPosPhiBiasH, local_IPDFPosPhiBias, mutex, PosPhiBias, PosPhiBiasH, verbosityLevel, and w.

Referenced by G4SPSPosDistribution::GeneratePointsOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SPSRandomGenerator::GenRandPosTheta ( )

Definition at line 629 of file G4SPSRandomGenerator.cc.

References bweights, G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFPosThetaBias, IPDFPosThetaBiasH, local_IPDFPosThetaBias, mutex, PosThetaBias, PosThetaBiasH, verbosityLevel, and w.

Referenced by G4SPSPosDistribution::GeneratePointsOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SPSRandomGenerator::GenRandTheta ( )

Definition at line 445 of file G4SPSRandomGenerator.cc.

References bweights, G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFThetaBias, IPDFThetaBiasH, local_IPDFThetaBias, mutex, ThetaBias, ThetaBiasH, verbosityLevel, and w.

Referenced by G4SPSAngDistribution::GenerateCosineLawFlux(), G4SPSAngDistribution::GenerateIsotropicFlux(), and G4SPSAngDistribution::GenerateUserDefFlux().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SPSRandomGenerator::GenRandX ( )

Definition at line 250 of file G4SPSRandomGenerator.cc.

References bweights, G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFXBias, IPDFXBiasH, local_IPDFXBias, mutex, verbosityLevel, w, XBias, and XBiasH.

Referenced by G4SPSPosDistribution::GeneratePointsInBeam(), G4SPSPosDistribution::GeneratePointsInPlane(), G4SPSPosDistribution::GeneratePointsInVolume(), and G4SPSPosDistribution::GeneratePointsOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SPSRandomGenerator::GenRandY ( )

Definition at line 327 of file G4SPSRandomGenerator.cc.

References bweights, G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFYBias, IPDFYBiasH, local_IPDFYBias, mutex, verbosityLevel, w, YBias, and YBiasH.

Referenced by G4SPSPosDistribution::GeneratePointsInBeam(), G4SPSPosDistribution::GeneratePointsInPlane(), G4SPSPosDistribution::GeneratePointsInVolume(), and G4SPSPosDistribution::GeneratePointsOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SPSRandomGenerator::GenRandZ ( )

Definition at line 385 of file G4SPSRandomGenerator.cc.

References bweights, G4cout, G4endl, G4UniformRand, G4PhysicsOrderedFreeVector::GetEnergy(), G4PhysicsVector::GetLowEdgeEnergy(), G4PhysicsVector::GetVectorLength(), G4PhysicsOrderedFreeVector::InsertValues(), IPDFZBias, IPDFZBiasH, local_IPDFZBias, mutex, verbosityLevel, w, ZBias, and ZBiasH.

Referenced by G4SPSPosDistribution::GeneratePointsInVolume(), and G4SPSPosDistribution::GeneratePointsOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SPSRandomGenerator::GetBiasWeight ( )

Definition at line 186 of file G4SPSRandomGenerator.cc.

References bweights, and w.

Referenced by G4SingleParticleSource::GeneratePrimaryVertex().

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetEnergyBias ( G4ThreeVector  input)

Definition at line 155 of file G4SPSRandomGenerator.cc.

References EnergyBias, EnergyBiasH, G4PhysicsOrderedFreeVector::InsertValues(), and mutex.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetIntensityWeight ( G4double  weight)

Definition at line 182 of file G4SPSRandomGenerator.cc.

References bweights.

Referenced by G4GeneralParticleSourceData::IntensityNormalise().

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetPhiBias ( G4ThreeVector  input)

Definition at line 146 of file G4SPSRandomGenerator.cc.

References G4PhysicsOrderedFreeVector::InsertValues(), mutex, PhiBias, and PhiBiasH.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetPosPhiBias ( G4ThreeVector  input)

Definition at line 173 of file G4SPSRandomGenerator.cc.

References G4PhysicsOrderedFreeVector::InsertValues(), mutex, PosPhiBias, and PosPhiBiasH.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetPosThetaBias ( G4ThreeVector  input)

Definition at line 164 of file G4SPSRandomGenerator.cc.

References G4PhysicsOrderedFreeVector::InsertValues(), mutex, PosThetaBias, and PosThetaBiasH.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetThetaBias ( G4ThreeVector  input)

Definition at line 137 of file G4SPSRandomGenerator.cc.

References G4PhysicsOrderedFreeVector::InsertValues(), mutex, ThetaBias, and ThetaBiasH.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetVerbosity ( G4int  a)

Definition at line 193 of file G4SPSRandomGenerator.cc.

References a, mutex, and verbosityLevel.

void G4SPSRandomGenerator::SetXBias ( G4ThreeVector  input)

Definition at line 110 of file G4SPSRandomGenerator.cc.

References G4PhysicsOrderedFreeVector::InsertValues(), mutex, XBias, and XBiasH.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetYBias ( G4ThreeVector  input)

Definition at line 119 of file G4SPSRandomGenerator.cc.

References G4PhysicsOrderedFreeVector::InsertValues(), mutex, YBias, and YBiasH.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SPSRandomGenerator::SetZBias ( G4ThreeVector  input)

Definition at line 128 of file G4SPSRandomGenerator.cc.

References G4PhysicsOrderedFreeVector::InsertValues(), mutex, ZBias, and ZBiasH.

Referenced by G4GeneralParticleSourceMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4bool G4SPSRandomGenerator::EnergyBias
private
G4PhysicsOrderedFreeVector G4SPSRandomGenerator::EnergyBiasH
private

Definition at line 223 of file G4SPSRandomGenerator.hh.

Referenced by GenRandEnergy(), ReSetHist(), and SetEnergyBias().

G4bool G4SPSRandomGenerator::IPDFEnergyBias
private

Definition at line 222 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandEnergy(), and ReSetHist().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::IPDFEnergyBiasH
private

Definition at line 224 of file G4SPSRandomGenerator.hh.

Referenced by GenRandEnergy(), and ReSetHist().

G4bool G4SPSRandomGenerator::IPDFPhiBias
private

Definition at line 218 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandPhi(), and ReSetHist().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::IPDFPhiBiasH
private

Definition at line 220 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPhi(), and ReSetHist().

G4bool G4SPSRandomGenerator::IPDFPosPhiBias
private

Definition at line 230 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandPosPhi(), and ReSetHist().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::IPDFPosPhiBiasH
private

Definition at line 232 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPosPhi(), and ReSetHist().

G4bool G4SPSRandomGenerator::IPDFPosThetaBias
private

Definition at line 226 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandPosTheta(), and ReSetHist().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::IPDFPosThetaBiasH
private

Definition at line 228 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPosTheta(), and ReSetHist().

G4bool G4SPSRandomGenerator::IPDFThetaBias
private

Definition at line 214 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandTheta(), and ReSetHist().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::IPDFThetaBiasH
private

Definition at line 216 of file G4SPSRandomGenerator.hh.

Referenced by GenRandTheta(), and ReSetHist().

G4bool G4SPSRandomGenerator::IPDFXBias
private

Definition at line 202 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandX(), and ReSetHist().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::IPDFXBiasH
private

Definition at line 204 of file G4SPSRandomGenerator.hh.

Referenced by GenRandX(), and ReSetHist().

G4bool G4SPSRandomGenerator::IPDFYBias
private

Definition at line 206 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandY(), and ReSetHist().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::IPDFYBiasH
private

Definition at line 208 of file G4SPSRandomGenerator.hh.

Referenced by GenRandY(), and ReSetHist().

G4bool G4SPSRandomGenerator::IPDFZBias
private

Definition at line 210 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandZ(), and ReSetHist().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::IPDFZBiasH
private

Definition at line 212 of file G4SPSRandomGenerator.hh.

Referenced by GenRandZ(), and ReSetHist().

G4Cache<a_check> G4SPSRandomGenerator::local_IPDFEnergyBias
private

Definition at line 221 of file G4SPSRandomGenerator.hh.

Referenced by GenRandEnergy(), and ReSetHist().

G4Cache<a_check> G4SPSRandomGenerator::local_IPDFPhiBias
private

Definition at line 217 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPhi(), and ReSetHist().

G4Cache<a_check> G4SPSRandomGenerator::local_IPDFPosPhiBias
private

Definition at line 229 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPosPhi(), and ReSetHist().

G4Cache<a_check> G4SPSRandomGenerator::local_IPDFPosThetaBias
private

Definition at line 225 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPosTheta(), and ReSetHist().

G4Cache<a_check> G4SPSRandomGenerator::local_IPDFThetaBias
private

Definition at line 213 of file G4SPSRandomGenerator.hh.

Referenced by GenRandTheta(), and ReSetHist().

G4Cache<a_check> G4SPSRandomGenerator::local_IPDFXBias
private

Definition at line 201 of file G4SPSRandomGenerator.hh.

Referenced by GenRandX(), and ReSetHist().

G4Cache<a_check> G4SPSRandomGenerator::local_IPDFYBias
private

Definition at line 205 of file G4SPSRandomGenerator.hh.

Referenced by GenRandY(), and ReSetHist().

G4Cache<a_check> G4SPSRandomGenerator::local_IPDFZBias
private

Definition at line 209 of file G4SPSRandomGenerator.hh.

Referenced by GenRandZ(), and ReSetHist().

G4bool G4SPSRandomGenerator::PhiBias
private

Definition at line 218 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandPhi(), ReSetHist(), and SetPhiBias().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::PhiBiasH
private

Definition at line 219 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPhi(), ReSetHist(), and SetPhiBias().

G4bool G4SPSRandomGenerator::PosPhiBias
private
G4PhysicsOrderedFreeVector G4SPSRandomGenerator::PosPhiBiasH
private

Definition at line 231 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPosPhi(), ReSetHist(), and SetPosPhiBias().

G4bool G4SPSRandomGenerator::PosThetaBias
private
G4PhysicsOrderedFreeVector G4SPSRandomGenerator::PosThetaBiasH
private

Definition at line 227 of file G4SPSRandomGenerator.hh.

Referenced by GenRandPosTheta(), ReSetHist(), and SetPosThetaBias().

G4bool G4SPSRandomGenerator::ThetaBias
private
G4PhysicsOrderedFreeVector G4SPSRandomGenerator::ThetaBiasH
private

Definition at line 215 of file G4SPSRandomGenerator.hh.

Referenced by GenRandTheta(), ReSetHist(), and SetThetaBias().

G4int G4SPSRandomGenerator::verbosityLevel
private
G4bool G4SPSRandomGenerator::XBias
private

Definition at line 202 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandX(), ReSetHist(), and SetXBias().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::XBiasH
private

Definition at line 203 of file G4SPSRandomGenerator.hh.

Referenced by GenRandX(), ReSetHist(), and SetXBias().

G4bool G4SPSRandomGenerator::YBias
private

Definition at line 206 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandY(), ReSetHist(), and SetYBias().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::YBiasH
private

Definition at line 207 of file G4SPSRandomGenerator.hh.

Referenced by GenRandY(), ReSetHist(), and SetYBias().

G4bool G4SPSRandomGenerator::ZBias
private

Definition at line 210 of file G4SPSRandomGenerator.hh.

Referenced by G4SPSRandomGenerator(), GenRandZ(), ReSetHist(), and SetZBias().

G4PhysicsOrderedFreeVector G4SPSRandomGenerator::ZBiasH
private

Definition at line 211 of file G4SPSRandomGenerator.hh.

Referenced by GenRandZ(), ReSetHist(), and SetZBias().


The documentation for this class was generated from the following files: