Geant4  10.00.p02
G4AdjointPosOnPhysVolGenerator Class Reference

#include <G4AdjointPosOnPhysVolGenerator.hh>

+ Collaboration diagram for G4AdjointPosOnPhysVolGenerator:

Public Member Functions

G4VPhysicalVolumeDefinePhysicalVolume (const G4String &aName)
 
void DefinePhysicalVolume1 (const G4String &aName)
 
G4double ComputeAreaOfExtSurface ()
 
G4double ComputeAreaOfExtSurface (G4int NStat)
 
G4double ComputeAreaOfExtSurface (G4double epsilon)
 
G4double ComputeAreaOfExtSurface (G4VSolid *aSolid)
 
G4double ComputeAreaOfExtSurface (G4VSolid *aSolid, G4int NStat)
 
G4double ComputeAreaOfExtSurface (G4VSolid *aSolid, G4double epsilon)
 
void GenerateAPositionOnTheExtSurfaceOfASolid (G4VSolid *aSolid, G4ThreeVector &p, G4ThreeVector &direction)
 
void GenerateAPositionOnTheExtSurfaceOfTheSolid (G4ThreeVector &p, G4ThreeVector &direction)
 
void GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume (G4ThreeVector &p, G4ThreeVector &direction)
 
void GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume (G4ThreeVector &p, G4ThreeVector &direction, G4double &costh_to_normal)
 
void SetSolid (G4VSolid *aSolid)
 
G4double GetAreaOfExtSurfaceOfThePhysicalVolume ()
 
G4double GetCosThDirComparedToNormal ()
 

Static Public Member Functions

static
G4AdjointPosOnPhysVolGenerator
GetInstance ()
 

Private Member Functions

 G4AdjointPosOnPhysVolGenerator ()
 
 ~G4AdjointPosOnPhysVolGenerator ()
 
G4double ComputeAreaOfExtSurfaceStartingFromSphere (G4VSolid *aSolid, G4int NStat)
 
G4double ComputeAreaOfExtSurfaceStartingFromBox (G4VSolid *aSolid, G4int NStat)
 
void GenerateAPositionOnASolidBoundary (G4VSolid *aSolid, G4ThreeVector &p, G4ThreeVector &direction)
 
G4double GenerateAPositionOnASphereBoundary (G4VSolid *aSolid, G4ThreeVector &p, G4ThreeVector &direction)
 
G4double GenerateAPositionOnABoxBoundary (G4VSolid *aSolid, G4ThreeVector &p, G4ThreeVector &direction)
 
void ComputeTransformationFromPhysVolToWorld ()
 

Private Attributes

G4VSolidtheSolid
 
G4VPhysicalVolumethePhysicalVolume
 
G4bool UseSphere
 
G4String ModelOfSurfaceSource
 
G4AffineTransform theTransformationFromPhysVolToWorld
 
G4double AreaOfExtSurfaceOfThePhysicalVolume
 
G4double CosThDirComparedToNormal
 

Static Private Attributes

static G4ThreadLocal
G4AdjointPosOnPhysVolGenerator
theInstance = 0
 

Detailed Description

Definition at line 62 of file G4AdjointPosOnPhysVolGenerator.hh.

Constructor & Destructor Documentation

G4AdjointPosOnPhysVolGenerator::G4AdjointPosOnPhysVolGenerator ( )
private

Definition at line 66 of file G4AdjointPosOnPhysVolGenerator.cc.

Referenced by GetInstance().

+ Here is the caller graph for this function:

G4AdjointPosOnPhysVolGenerator::~G4AdjointPosOnPhysVolGenerator ( )
private

Definition at line 60 of file G4AdjointPosOnPhysVolGenerator.cc.

Member Function Documentation

G4double G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurface ( )

Definition at line 109 of file G4AdjointPosOnPhysVolGenerator.cc.

References theSolid.

Referenced by ComputeAreaOfExtSurface().

+ Here is the caller graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurface ( G4int  NStat)

Definition at line 115 of file G4AdjointPosOnPhysVolGenerator.cc.

References ComputeAreaOfExtSurface(), and theSolid.

+ Here is the call graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurface ( G4double  epsilon)

Definition at line 121 of file G4AdjointPosOnPhysVolGenerator.cc.

References ComputeAreaOfExtSurface(), and theSolid.

+ Here is the call graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurface ( G4VSolid aSolid)

Definition at line 127 of file G4AdjointPosOnPhysVolGenerator.cc.

References ComputeAreaOfExtSurface().

+ Here is the call graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurface ( G4VSolid aSolid,
G4int  NStat 
)

Definition at line 133 of file G4AdjointPosOnPhysVolGenerator.cc.

References ComputeAreaOfExtSurfaceStartingFromBox(), ComputeAreaOfExtSurfaceStartingFromSphere(), GenerateAPositionOnABoxBoundary(), GenerateAPositionOnASphereBoundary(), ModelOfSurfaceSource, and UseSphere.

+ Here is the call graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurface ( G4VSolid aSolid,
G4double  epsilon 
)

Definition at line 151 of file G4AdjointPosOnPhysVolGenerator.cc.

References ComputeAreaOfExtSurface().

+ Here is the call graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurfaceStartingFromBox ( G4VSolid aSolid,
G4int  NStat 
)
private

Definition at line 177 of file G4AdjointPosOnPhysVolGenerator.cc.

References G4VSolid::DistanceToIn(), GenerateAPositionOnABoxBoundary(), and kInfinity.

Referenced by ComputeAreaOfExtSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::ComputeAreaOfExtSurfaceStartingFromSphere ( G4VSolid aSolid,
G4int  NStat 
)
private

Definition at line 194 of file G4AdjointPosOnPhysVolGenerator.cc.

References G4VSolid::DistanceToIn(), GenerateAPositionOnASphereBoundary(), and kInfinity.

Referenced by ComputeAreaOfExtSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4AdjointPosOnPhysVolGenerator::ComputeTransformationFromPhysVolToWorld ( )
private

Definition at line 389 of file G4AdjointPosOnPhysVolGenerator.cc.

References G4VPhysicalVolume::GetFrameRotation(), G4PhysicalVolumeStore::GetInstance(), G4VPhysicalVolume::GetMotherLogical(), G4VPhysicalVolume::GetObjectTranslation(), thePhysicalVolume, and theTransformationFromPhysVolToWorld.

Referenced by DefinePhysicalVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VPhysicalVolume * G4AdjointPosOnPhysVolGenerator::DefinePhysicalVolume ( const G4String aName)

Definition at line 75 of file G4AdjointPosOnPhysVolGenerator.cc.

References ComputeTransformationFromPhysVolToWorld(), G4cout, G4PhysicalVolumeStore::GetInstance(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetSolid(), thePhysicalVolume, and theSolid.

Referenced by DefinePhysicalVolume1().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4AdjointPosOnPhysVolGenerator::DefinePhysicalVolume1 ( const G4String aName)

Definition at line 103 of file G4AdjointPosOnPhysVolGenerator.cc.

References DefinePhysicalVolume(), and thePhysicalVolume.

Referenced by G4AdjointPrimaryGenerator::SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnABoxBoundary ( G4VSolid aSolid,
G4ThreeVector p,
G4ThreeVector direction 
)
private

Definition at line 267 of file G4AdjointPosOnPhysVolGenerator.cc.

References G4VSolid::CalculateExtent(), G4UniformRand, kXAxis, kYAxis, and kZAxis.

Referenced by ComputeAreaOfExtSurface(), ComputeAreaOfExtSurfaceStartingFromBox(), GenerateAPositionOnASolidBoundary(), and GenerateAPositionOnTheExtSurfaceOfASolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnASolidBoundary ( G4VSolid aSolid,
G4ThreeVector p,
G4ThreeVector direction 
)
private

Definition at line 212 of file G4AdjointPosOnPhysVolGenerator.cc.

References G4VSolid::DistanceToIn(), GenerateAPositionOnABoxBoundary(), GenerateAPositionOnASphereBoundary(), kInfinity, and UseSphere.

Referenced by GenerateAPositionOnTheExtSurfaceOfASolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnASphereBoundary ( G4VSolid aSolid,
G4ThreeVector p,
G4ThreeVector direction 
)
private

Definition at line 227 of file G4AdjointPosOnPhysVolGenerator.cc.

References G4VSolid::CalculateExtent(), G4UniformRand, kXAxis, kYAxis, and kZAxis.

Referenced by ComputeAreaOfExtSurface(), ComputeAreaOfExtSurfaceStartingFromSphere(), GenerateAPositionOnASolidBoundary(), and GenerateAPositionOnTheExtSurfaceOfASolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnTheExtSurfaceOfASolid ( G4VSolid aSolid,
G4ThreeVector p,
G4ThreeVector direction 
)

Definition at line 157 of file G4AdjointPosOnPhysVolGenerator.cc.

References GenerateAPositionOnABoxBoundary(), GenerateAPositionOnASolidBoundary(), GenerateAPositionOnASphereBoundary(), and ModelOfSurfaceSource.

Referenced by GenerateAPositionOnTheExtSurfaceOfTheSolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume ( G4ThreeVector p,
G4ThreeVector direction 
)

Definition at line 369 of file G4AdjointPosOnPhysVolGenerator.cc.

References G4cout, GenerateAPositionOnTheExtSurfaceOfTheSolid(), thePhysicalVolume, theTransformationFromPhysVolToWorld, G4AffineTransform::TransformAxis(), and G4AffineTransform::TransformPoint().

Referenced by G4AdjointPrimaryGenerator::GenerateAdjointPrimaryVertex(), GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume(), and G4AdjointPrimaryGenerator::GenerateFwdPrimaryVertex().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume ( G4ThreeVector p,
G4ThreeVector direction,
G4double costh_to_normal 
)

Definition at line 381 of file G4AdjointPosOnPhysVolGenerator.cc.

References CosThDirComparedToNormal, and GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume().

+ Here is the call graph for this function:

void G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnTheExtSurfaceOfTheSolid ( G4ThreeVector p,
G4ThreeVector direction 
)

Definition at line 171 of file G4AdjointPosOnPhysVolGenerator.cc.

References GenerateAPositionOnTheExtSurfaceOfASolid(), and theSolid.

Referenced by GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4AdjointPosOnPhysVolGenerator::GetAreaOfExtSurfaceOfThePhysicalVolume ( )
inline
G4double G4AdjointPosOnPhysVolGenerator::GetCosThDirComparedToNormal ( )
inline

Definition at line 94 of file G4AdjointPosOnPhysVolGenerator.hh.

References CosThDirComparedToNormal.

G4AdjointPosOnPhysVolGenerator * G4AdjointPosOnPhysVolGenerator::GetInstance ( void  )
static

Definition at line 49 of file G4AdjointPosOnPhysVolGenerator.cc.

References G4AdjointPosOnPhysVolGenerator(), and theInstance.

Referenced by G4AdjointPrimaryGenerator::G4AdjointPrimaryGenerator().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4AdjointPosOnPhysVolGenerator::SetSolid ( G4VSolid aSolid)
inline

Definition at line 92 of file G4AdjointPosOnPhysVolGenerator.hh.

References theSolid.

Member Data Documentation

G4double G4AdjointPosOnPhysVolGenerator::AreaOfExtSurfaceOfThePhysicalVolume
private
G4double G4AdjointPosOnPhysVolGenerator::CosThDirComparedToNormal
private
G4String G4AdjointPosOnPhysVolGenerator::ModelOfSurfaceSource
private
G4ThreadLocal G4AdjointPosOnPhysVolGenerator * G4AdjointPosOnPhysVolGenerator::theInstance = 0
staticprivate

Definition at line 111 of file G4AdjointPosOnPhysVolGenerator.hh.

Referenced by GetInstance().

G4VSolid* G4AdjointPosOnPhysVolGenerator::theSolid
private
G4AffineTransform G4AdjointPosOnPhysVolGenerator::theTransformationFromPhysVolToWorld
private
G4bool G4AdjointPosOnPhysVolGenerator::UseSphere
private

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