Geant4-11
|
#include <G4AdjointCrossSurfChecker.hh>
Public Member Functions | |
G4bool | AddanExtSurfaceOfAvolume (const G4String &SurfaceName, const G4String &volume_name, G4double &area) |
G4bool | AddanInterfaceBetweenTwoVolumes (const G4String &SurfaceName, const G4String &volume_name1, const G4String &volume_name2, G4double &area) |
G4bool | AddaSphericalSurface (const G4String &SurfaceName, G4double radius, G4ThreeVector pos, G4double &area) |
G4bool | AddaSphericalSurfaceWithCenterAtTheCenterOfAVolume (const G4String &SurfaceName, G4double radius, const G4String &volume_name, G4ThreeVector ¢er, G4double &area) |
void | ClearListOfSelectedSurface () |
G4bool | CrossingAGivenRegisteredSurface (const G4Step *aStep, const G4String &surface_name, G4ThreeVector &cross_pos, G4double &cos_to_surface, G4bool &GoingIn) |
G4bool | CrossingAGivenRegisteredSurface (const G4Step *aStep, G4int ind, G4ThreeVector &cross_pos, G4double &cos_to_surface, G4bool &GoingIn) |
G4bool | CrossingAnInterfaceBetweenTwoVolumes (const G4Step *aStep, const G4String &vol1_name, const G4String &vol2_name, G4ThreeVector &cross_pos, G4double &cos_to_surface, G4bool &GoingIn) |
G4bool | CrossingASphere (const G4Step *aStep, G4double sphere_radius, G4ThreeVector sphere_center, G4ThreeVector &cross_pos, G4double &cos_to_surface, G4bool &GoingIn) |
G4bool | CrossingOneOfTheRegisteredSurface (const G4Step *aStep, G4String &surface_name, G4ThreeVector &cross_pos, G4double &cos_to_surface, G4bool &GoingIn) |
G4bool | GoingInOrOutOfaVolume (const G4Step *aStep, const G4String &volume_name, G4double &cos_to_surface, G4bool &GoingIn) |
G4bool | GoingInOrOutOfaVolumeByExtSurface (const G4Step *aStep, const G4String &volume_name, const G4String &mother_lvol_name, G4double &cos_to_surface, G4bool &GoingIn) |
Static Public Member Functions | |
static G4AdjointCrossSurfChecker * | GetInstance () |
Private Member Functions | |
G4int | FindRegisteredSurface (const G4String &name) |
G4AdjointCrossSurfChecker () | |
~G4AdjointCrossSurfChecker () | |
Private Attributes | |
std::vector< G4double > | AreaOfSurface |
std::vector< G4ThreeVector > | ListOfSphereCenter |
std::vector< G4double > | ListOfSphereRadius |
std::vector< G4String > | ListOfSurfaceName |
std::vector< G4String > | ListOfSurfaceType |
std::vector< G4String > | ListOfVol1Name |
std::vector< G4String > | ListOfVol2Name |
Static Private Attributes | |
static G4ThreadLocal G4AdjointCrossSurfChecker * | instance = nullptr |
Definition at line 50 of file G4AdjointCrossSurfChecker.hh.
|
private |
|
private |
Definition at line 55 of file G4AdjointCrossSurfChecker.cc.
References instance.
G4bool G4AdjointCrossSurfChecker::AddanExtSurfaceOfAvolume | ( | const G4String & | SurfaceName, |
const G4String & | volume_name, | ||
G4double & | area | ||
) |
Definition at line 386 of file G4AdjointCrossSurfChecker.cc.
References AreaOfSurface, FindRegisteredSurface(), G4PhysicalVolumeStore::GetInstance(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetMotherLogical(), G4LogicalVolume::GetName(), G4LogicalVolume::GetSolid(), G4VSolid::GetSurfaceArea(), G4PhysicalVolumeStore::GetVolume(), ListOfSphereCenter, ListOfSphereRadius, ListOfSurfaceName, ListOfSurfaceType, ListOfVol1Name, and ListOfVol2Name.
Referenced by G4AdjointSimManager::DefineAdjointSourceOnTheExtSurfaceOfAVolume(), and G4AdjointSimManager::DefineExtSourceOnTheExtSurfaceOfAVolume().
G4bool G4AdjointCrossSurfChecker::AddanInterfaceBetweenTwoVolumes | ( | const G4String & | SurfaceName, |
const G4String & | volume_name1, | ||
const G4String & | volume_name2, | ||
G4double & | area | ||
) |
Definition at line 428 of file G4AdjointCrossSurfChecker.cc.
References AreaOfSurface, FindRegisteredSurface(), ListOfSphereCenter, ListOfSphereRadius, ListOfSurfaceName, ListOfSurfaceType, ListOfVol1Name, and ListOfVol2Name.
G4bool G4AdjointCrossSurfChecker::AddaSphericalSurface | ( | const G4String & | SurfaceName, |
G4double | radius, | ||
G4ThreeVector | pos, | ||
G4double & | area | ||
) |
Definition at line 313 of file G4AdjointCrossSurfChecker.cc.
References AreaOfSurface, FindRegisteredSurface(), ListOfSphereCenter, ListOfSphereRadius, ListOfSurfaceName, ListOfSurfaceType, ListOfVol1Name, ListOfVol2Name, pi, and pos.
Referenced by AddaSphericalSurfaceWithCenterAtTheCenterOfAVolume(), G4AdjointSimManager::DefineSphericalAdjointSource(), and G4AdjointSimManager::DefineSphericalExtSource().
G4bool G4AdjointCrossSurfChecker::AddaSphericalSurfaceWithCenterAtTheCenterOfAVolume | ( | const G4String & | SurfaceName, |
G4double | radius, | ||
const G4String & | volume_name, | ||
G4ThreeVector & | center, | ||
G4double & | area | ||
) |
Definition at line 343 of file G4AdjointCrossSurfChecker.cc.
References AddaSphericalSurface(), cm, G4cout, G4endl, G4VPhysicalVolume::GetFrameRotation(), G4PhysicalVolumeStore::GetInstance(), G4VPhysicalVolume::GetMotherLogical(), G4VPhysicalVolume::GetObjectTranslation(), G4PhysicalVolumeStore::GetVolume(), and G4AffineTransform::NetTranslation().
Referenced by G4AdjointSimManager::DefineSphericalAdjointSourceWithCentreAtTheCentreOfAVolume(), and G4AdjointSimManager::DefineSphericalExtSourceWithCentreAtTheCentreOfAVolume().
void G4AdjointCrossSurfChecker::ClearListOfSelectedSurface | ( | ) |
Definition at line 459 of file G4AdjointCrossSurfChecker.cc.
References ListOfSphereCenter, ListOfSphereRadius, ListOfSurfaceName, ListOfSurfaceType, ListOfVol1Name, and ListOfVol2Name.
G4bool G4AdjointCrossSurfChecker::CrossingAGivenRegisteredSurface | ( | const G4Step * | aStep, |
const G4String & | surface_name, | ||
G4ThreeVector & | cross_pos, | ||
G4double & | cos_to_surface, | ||
G4bool & | GoingIn | ||
) |
Definition at line 194 of file G4AdjointCrossSurfChecker.cc.
References CrossingAGivenRegisteredSurface(), and FindRegisteredSurface().
Referenced by CrossingAGivenRegisteredSurface(), and CrossingOneOfTheRegisteredSurface().
G4bool G4AdjointCrossSurfChecker::CrossingAGivenRegisteredSurface | ( | const G4Step * | aStep, |
G4int | ind, | ||
G4ThreeVector & | cross_pos, | ||
G4double & | cos_to_surface, | ||
G4bool & | GoingIn | ||
) |
Definition at line 212 of file G4AdjointCrossSurfChecker.cc.
References CrossingAnInterfaceBetweenTwoVolumes(), CrossingASphere(), G4StepPoint::GetPosition(), G4Step::GetPostStepPoint(), GoingInOrOutOfaVolumeByExtSurface(), ListOfSphereCenter, ListOfSphereRadius, ListOfSurfaceType, ListOfVol1Name, and ListOfVol2Name.
G4bool G4AdjointCrossSurfChecker::CrossingAnInterfaceBetweenTwoVolumes | ( | const G4Step * | aStep, |
const G4String & | vol1_name, | ||
const G4String & | vol2_name, | ||
G4ThreeVector & | cross_pos, | ||
G4double & | cos_to_surface, | ||
G4bool & | GoingIn | ||
) |
Definition at line 266 of file G4AdjointCrossSurfChecker.cc.
References fGeomBoundary, G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetName(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4StepPoint::GetStepStatus(), G4StepPoint::GetTouchable(), and G4VTouchable::GetVolume().
Referenced by CrossingAGivenRegisteredSurface().
G4bool G4AdjointCrossSurfChecker::CrossingASphere | ( | const G4Step * | aStep, |
G4double | sphere_radius, | ||
G4ThreeVector | sphere_center, | ||
G4ThreeVector & | cross_pos, | ||
G4double & | cos_to_surface, | ||
G4bool & | GoingIn | ||
) |
Definition at line 70 of file G4AdjointCrossSurfChecker.cc.
References CLHEP::Hep3Vector::cosTheta(), G4StepPoint::GetPosition(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), and CLHEP::Hep3Vector::mag().
Referenced by CrossingAGivenRegisteredSurface().
G4bool G4AdjointCrossSurfChecker::CrossingOneOfTheRegisteredSurface | ( | const G4Step * | aStep, |
G4String & | surface_name, | ||
G4ThreeVector & | cross_pos, | ||
G4double & | cos_to_surface, | ||
G4bool & | GoingIn | ||
) |
Definition at line 246 of file G4AdjointCrossSurfChecker.cc.
References CrossingAGivenRegisteredSurface(), and ListOfSurfaceName.
Definition at line 471 of file G4AdjointCrossSurfChecker.cc.
References ListOfSurfaceName, and G4InuclParticleNames::name().
Referenced by AddanExtSurfaceOfAvolume(), AddanInterfaceBetweenTwoVolumes(), AddaSphericalSurface(), and CrossingAGivenRegisteredSurface().
|
static |
Definition at line 62 of file G4AdjointCrossSurfChecker.cc.
References G4AdjointCrossSurfChecker(), and instance.
Referenced by G4AdjointSimManager::DefineAdjointSourceOnTheExtSurfaceOfAVolume(), G4AdjointSimManager::DefineExtSourceOnTheExtSurfaceOfAVolume(), G4AdjointSimManager::DefineSphericalAdjointSource(), G4AdjointSimManager::DefineSphericalAdjointSourceWithCentreAtTheCentreOfAVolume(), G4AdjointSimManager::DefineSphericalExtSource(), G4AdjointSimManager::DefineSphericalExtSourceWithCentreAtTheCentreOfAVolume(), and G4AdjointSteppingAction::G4AdjointSteppingAction().
G4bool G4AdjointCrossSurfChecker::GoingInOrOutOfaVolume | ( | const G4Step * | aStep, |
const G4String & | volume_name, | ||
G4double & | cos_to_surface, | ||
G4bool & | GoingIn | ||
) |
Definition at line 112 of file G4AdjointCrossSurfChecker.cc.
References fGeomBoundary, G4VPhysicalVolume::GetName(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4StepPoint::GetStepStatus(), G4StepPoint::GetTouchable(), and G4VTouchable::GetVolume().
G4bool G4AdjointCrossSurfChecker::GoingInOrOutOfaVolumeByExtSurface | ( | const G4Step * | aStep, |
const G4String & | volume_name, | ||
const G4String & | mother_lvol_name, | ||
G4double & | cos_to_surface, | ||
G4bool & | GoingIn | ||
) |
Definition at line 148 of file G4AdjointCrossSurfChecker.cc.
References fGeomBoundary, G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetName(), G4VPhysicalVolume::GetName(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4StepPoint::GetStepStatus(), G4StepPoint::GetTouchable(), and G4VTouchable::GetVolume().
Referenced by CrossingAGivenRegisteredSurface().
|
private |
Definition at line 135 of file G4AdjointCrossSurfChecker.hh.
Referenced by AddanExtSurfaceOfAvolume(), AddanInterfaceBetweenTwoVolumes(), and AddaSphericalSurface().
|
staticprivate |
Definition at line 127 of file G4AdjointCrossSurfChecker.hh.
Referenced by GetInstance(), and ~G4AdjointCrossSurfChecker().
|
private |
Definition at line 132 of file G4AdjointCrossSurfChecker.hh.
Referenced by AddanExtSurfaceOfAvolume(), AddanInterfaceBetweenTwoVolumes(), AddaSphericalSurface(), ClearListOfSelectedSurface(), and CrossingAGivenRegisteredSurface().
|
private |
Definition at line 131 of file G4AdjointCrossSurfChecker.hh.
Referenced by AddanExtSurfaceOfAvolume(), AddanInterfaceBetweenTwoVolumes(), AddaSphericalSurface(), ClearListOfSelectedSurface(), and CrossingAGivenRegisteredSurface().
|
private |
Definition at line 129 of file G4AdjointCrossSurfChecker.hh.
Referenced by AddanExtSurfaceOfAvolume(), AddanInterfaceBetweenTwoVolumes(), AddaSphericalSurface(), ClearListOfSelectedSurface(), CrossingOneOfTheRegisteredSurface(), and FindRegisteredSurface().
|
private |
Definition at line 130 of file G4AdjointCrossSurfChecker.hh.
Referenced by AddanExtSurfaceOfAvolume(), AddanInterfaceBetweenTwoVolumes(), AddaSphericalSurface(), ClearListOfSelectedSurface(), and CrossingAGivenRegisteredSurface().
|
private |
Definition at line 133 of file G4AdjointCrossSurfChecker.hh.
Referenced by AddanExtSurfaceOfAvolume(), AddanInterfaceBetweenTwoVolumes(), AddaSphericalSurface(), ClearListOfSelectedSurface(), and CrossingAGivenRegisteredSurface().
|
private |
Definition at line 134 of file G4AdjointCrossSurfChecker.hh.
Referenced by AddanExtSurfaceOfAvolume(), AddanInterfaceBetweenTwoVolumes(), AddaSphericalSurface(), ClearListOfSelectedSurface(), and CrossingAGivenRegisteredSurface().