Geant4-11
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
G4PhysicalVolumeSearchScene Class Reference

#include <G4PhysicalVolumeSearchScene.hh>

Inheritance diagram for G4PhysicalVolumeSearchScene:
G4PseudoScene G4VGraphicsScene

Public Member Functions

void AddCompound (const G4Mesh &)
 
void AddCompound (const G4THitsMap< G4double > &)
 
void AddCompound (const G4THitsMap< G4StatDouble > &)
 
void AddCompound (const G4VDigi &)
 
void AddCompound (const G4VHit &)
 
void AddCompound (const G4VTrajectory &)
 
void AddPrimitive (const G4Circle &)
 
void AddPrimitive (const G4Plotter &)
 
void AddPrimitive (const G4Polyhedron &)
 
void AddPrimitive (const G4Polyline &)
 
void AddPrimitive (const G4Polymarker &)
 
void AddPrimitive (const G4Square &)
 
void AddPrimitive (const G4Text &)
 
void AddSolid (const G4Box &solid)
 
void AddSolid (const G4Cons &solid)
 
void AddSolid (const G4Ellipsoid &solid)
 
void AddSolid (const G4Orb &solid)
 
void AddSolid (const G4Para &solid)
 
void AddSolid (const G4Polycone &solid)
 
void AddSolid (const G4Polyhedra &solid)
 
void AddSolid (const G4Sphere &solid)
 
void AddSolid (const G4TessellatedSolid &solid)
 
void AddSolid (const G4Torus &solid)
 
void AddSolid (const G4Trap &solid)
 
void AddSolid (const G4Trd &solid)
 
void AddSolid (const G4Tubs &solid)
 
void AddSolid (const G4VSolid &solid)
 
void BeginPrimitives (const G4Transform3D &)
 
void BeginPrimitives2D (const G4Transform3D &)
 
void EndPrimitives ()
 
void EndPrimitives2D ()
 
 G4PhysicalVolumeSearchScene (G4PhysicalVolumeModel *, const G4String &requiredPhysicalVolumeName, G4int requiredCopyNo, G4int verbosity=99)
 
virtual const G4VisExtentGetExtent () const
 
G4int GetFoundDepth () const
 
const std::vector< G4PhysicalVolumeModel::G4PhysicalVolumeNodeID > & GetFoundFullPVPath () const
 
const G4Transform3DGetFoundTransformation () const
 
G4VPhysicalVolumeGetFoundVolume () const
 
void PostAddSolid ()
 
void PreAddSolid (const G4Transform3D &objectTransformation, const G4VisAttributes &)
 
virtual ~G4PhysicalVolumeSearchScene ()
 

Protected Attributes

const G4Transform3DfpCurrentObjectTransformation
 

Private Member Functions

void ProcessVolume (const G4VSolid &)
 

Private Attributes

G4int fFoundDepth
 
std::vector< G4PhysicalVolumeModel::G4PhysicalVolumeNodeIDfFoundFullPVPath
 
G4Transform3D fFoundObjectTransformation
 
G4bool fMultipleOccurrence
 
G4VPhysicalVolumefpFoundPV
 
const G4PhysicalVolumeModelfpPVModel
 
G4int fRequiredCopyNo
 
G4String fRequiredPhysicalVolumeName
 
G4int fVerbosity
 

Detailed Description

Definition at line 41 of file G4PhysicalVolumeSearchScene.hh.

Constructor & Destructor Documentation

◆ G4PhysicalVolumeSearchScene()

G4PhysicalVolumeSearchScene::G4PhysicalVolumeSearchScene ( G4PhysicalVolumeModel pPVModel,
const G4String requiredPhysicalVolumeName,
G4int  requiredCopyNo,
G4int  verbosity = 99 
)

◆ ~G4PhysicalVolumeSearchScene()

G4PhysicalVolumeSearchScene::~G4PhysicalVolumeSearchScene ( )
virtual

Definition at line 52 of file G4PhysicalVolumeSearchScene.cc.

52{}

Member Function Documentation

◆ AddCompound() [1/6]

void G4PseudoScene::AddCompound ( const G4Mesh )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 83 of file G4PseudoScene.hh.

83{}

◆ AddCompound() [2/6]

void G4PseudoScene::AddCompound ( const G4THitsMap< G4double > &  )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 81 of file G4PseudoScene.hh.

81{}

◆ AddCompound() [3/6]

void G4PseudoScene::AddCompound ( const G4THitsMap< G4StatDouble > &  )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 82 of file G4PseudoScene.hh.

82{}

◆ AddCompound() [4/6]

void G4PseudoScene::AddCompound ( const G4VDigi )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 80 of file G4PseudoScene.hh.

80{}

◆ AddCompound() [5/6]

void G4PseudoScene::AddCompound ( const G4VHit )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 79 of file G4PseudoScene.hh.

79{}

◆ AddCompound() [6/6]

void G4PseudoScene::AddCompound ( const G4VTrajectory )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 78 of file G4PseudoScene.hh.

78{}

◆ AddPrimitive() [1/7]

void G4PseudoScene::AddPrimitive ( const G4Circle )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 91 of file G4PseudoScene.hh.

91{}

◆ AddPrimitive() [2/7]

void G4PseudoScene::AddPrimitive ( const G4Plotter )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 96 of file G4PseudoScene.hh.

96{}

◆ AddPrimitive() [3/7]

void G4PseudoScene::AddPrimitive ( const G4Polyhedron )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 94 of file G4PseudoScene.hh.

94{}

◆ AddPrimitive() [4/7]

void G4PseudoScene::AddPrimitive ( const G4Polyline )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 89 of file G4PseudoScene.hh.

89{}

◆ AddPrimitive() [5/7]

void G4PseudoScene::AddPrimitive ( const G4Polymarker )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 93 of file G4PseudoScene.hh.

93{}

◆ AddPrimitive() [6/7]

void G4PseudoScene::AddPrimitive ( const G4Square )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 92 of file G4PseudoScene.hh.

92{}

◆ AddPrimitive() [7/7]

void G4PseudoScene::AddPrimitive ( const G4Text )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 90 of file G4PseudoScene.hh.

90{}

◆ AddSolid() [1/14]

void G4PseudoScene::AddSolid ( const G4Box solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 61 of file G4PseudoScene.hh.

61{ProcessVolume (solid);}
virtual void ProcessVolume(const G4VSolid &)

References G4PseudoScene::ProcessVolume().

Referenced by G4OpenGLSceneHandler::AddCompound(), G4Qt3DSceneHandler::AddCompound(), and G4VtkSceneHandler::AddCompound().

◆ AddSolid() [2/14]

void G4PseudoScene::AddSolid ( const G4Cons solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 62 of file G4PseudoScene.hh.

62{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [3/14]

void G4PseudoScene::AddSolid ( const G4Ellipsoid solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 71 of file G4PseudoScene.hh.

71{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [4/14]

void G4PseudoScene::AddSolid ( const G4Orb solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 63 of file G4PseudoScene.hh.

63{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [5/14]

void G4PseudoScene::AddSolid ( const G4Para solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 64 of file G4PseudoScene.hh.

64{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [6/14]

void G4PseudoScene::AddSolid ( const G4Polycone solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 72 of file G4PseudoScene.hh.

72{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [7/14]

void G4PseudoScene::AddSolid ( const G4Polyhedra solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 73 of file G4PseudoScene.hh.

73{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [8/14]

void G4PseudoScene::AddSolid ( const G4Sphere solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 65 of file G4PseudoScene.hh.

65{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [9/14]

void G4PseudoScene::AddSolid ( const G4TessellatedSolid solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 74 of file G4PseudoScene.hh.

74{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [10/14]

void G4PseudoScene::AddSolid ( const G4Torus solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 66 of file G4PseudoScene.hh.

66{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [11/14]

void G4PseudoScene::AddSolid ( const G4Trap solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 67 of file G4PseudoScene.hh.

67{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [12/14]

void G4PseudoScene::AddSolid ( const G4Trd solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 68 of file G4PseudoScene.hh.

68{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [13/14]

void G4PseudoScene::AddSolid ( const G4Tubs solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 69 of file G4PseudoScene.hh.

69{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ AddSolid() [14/14]

void G4PseudoScene::AddSolid ( const G4VSolid solid)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 76 of file G4PseudoScene.hh.

76{ProcessVolume (solid);}

References G4PseudoScene::ProcessVolume().

◆ BeginPrimitives()

void G4PseudoScene::BeginPrimitives ( const G4Transform3D )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 85 of file G4PseudoScene.hh.

85{}

◆ BeginPrimitives2D()

void G4PseudoScene::BeginPrimitives2D ( const G4Transform3D )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 87 of file G4PseudoScene.hh.

87{}

◆ EndPrimitives()

void G4PseudoScene::EndPrimitives ( )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 86 of file G4PseudoScene.hh.

86{}

◆ EndPrimitives2D()

void G4PseudoScene::EndPrimitives2D ( )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 88 of file G4PseudoScene.hh.

88{}

◆ GetExtent()

const G4VisExtent & G4VGraphicsScene::GetExtent ( ) const
virtualinherited

Reimplemented in G4VSceneHandler, and G4BoundingExtentScene.

Definition at line 37 of file G4VGraphicsScene.cc.

38{
39 static const G4VisExtent defaultExtent = G4VisExtent();
40 return defaultExtent;
41}

Referenced by G4VFieldModel::DescribeYourselfTo().

◆ GetFoundDepth()

G4int G4PhysicalVolumeSearchScene::GetFoundDepth ( ) const
inline

Definition at line 57 of file G4PhysicalVolumeSearchScene.hh.

57{return fFoundDepth;}

References fFoundDepth.

◆ GetFoundFullPVPath()

const std::vector< G4PhysicalVolumeModel::G4PhysicalVolumeNodeID > & G4PhysicalVolumeSearchScene::GetFoundFullPVPath ( ) const
inline

Definition at line 54 of file G4PhysicalVolumeSearchScene.hh.

55 {return fFoundFullPVPath;}
std::vector< G4PhysicalVolumeModel::G4PhysicalVolumeNodeID > fFoundFullPVPath

References fFoundFullPVPath.

◆ GetFoundTransformation()

const G4Transform3D & G4PhysicalVolumeSearchScene::GetFoundTransformation ( ) const
inline

◆ GetFoundVolume()

G4VPhysicalVolume * G4PhysicalVolumeSearchScene::GetFoundVolume ( ) const
inline

Definition at line 59 of file G4PhysicalVolumeSearchScene.hh.

59{return fpFoundPV;}

References fpFoundPV.

◆ PostAddSolid()

void G4PseudoScene::PostAddSolid ( )
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 59 of file G4PseudoScene.hh.

59{}

◆ PreAddSolid()

void G4PseudoScene::PreAddSolid ( const G4Transform3D objectTransformation,
const G4VisAttributes  
)
inlinevirtualinherited

Implements G4VGraphicsScene.

Definition at line 56 of file G4PseudoScene.hh.

58 {fpCurrentObjectTransformation = &objectTransformation;}
const G4Transform3D * fpCurrentObjectTransformation

References G4PseudoScene::fpCurrentObjectTransformation.

◆ ProcessVolume()

void G4PhysicalVolumeSearchScene::ProcessVolume ( const G4VSolid )
privatevirtual

Reimplemented from G4PseudoScene.

Definition at line 54 of file G4PhysicalVolumeSearchScene.cc.

54 {
55
57
58 /**************************************************
59 G4cout << "Required volume: \"" << fRequiredPhysicalVolumeName
60 << "\", copy no. " << fRequiredCopyNo << G4endl;
61 G4cout << "PhysicalVolume: \"" << pCurrentPV -> GetName ()
62 << "\", copy no. " << pCurrentPV -> GetCopyNo () << G4endl;
63 *******************************************/
64
65 const G4String& name = fpPVModel->GetCurrentPV() -> GetName ();
66 if (name.length() == fRequiredPhysicalVolumeName.length()) {
68
70 typedef std::vector<PVNodeID> PVPath;
71 const PVPath& fullPVPath = fpPVModel->GetFullPVPath();
72 G4int currentDepth = fpPVModel->GetCurrentDepth();
73 if ((fRequiredCopyNo < 0 || // I.e., ignore negative request.
74 fRequiredCopyNo == pCurrentPV -> GetCopyNo ())) {
75 // Current policy - take first one found!!
76 if (!fpFoundPV) { // i.e., if not already found.
77 fFoundFullPVPath = fullPVPath;
78 fFoundDepth = currentDepth;
79 fpFoundPV = pCurrentPV;
81 }
82 else {
83 if (!fMultipleOccurrence && fVerbosity > 0) {
85 G4cout << "G4PhysicalVolumeSearchScene::FindVolume:"
86 << "\n Required volume \""
88 << "\"";
89 if (fRequiredCopyNo >= 0) {
90 G4cout << ", copy no. " << fRequiredCopyNo << ",";
91 }
92 G4cout << " found more than once."
93 "\n This function is not smart enough to distinguish identical"
94 "\n physical volumes which have different parentage. It is"
95 "\n tricky to specify in general. This function gives you access"
96 "\n to the first occurrence only."
97 << G4endl;
98 }
99 }
100 }
101 }
102 }
103}
int G4int
Definition: G4Types.hh:85
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
G4VPhysicalVolume * GetCurrentPV() const
const std::vector< G4PhysicalVolumeNodeID > & GetFullPVPath() const
const char * name(G4int ptype)

References fFoundDepth, fFoundFullPVPath, fFoundObjectTransformation, fMultipleOccurrence, G4PseudoScene::fpCurrentObjectTransformation, fpFoundPV, fpPVModel, fRequiredCopyNo, fRequiredPhysicalVolumeName, fVerbosity, G4cout, G4endl, G4PhysicalVolumeModel::GetCurrentDepth(), G4PhysicalVolumeModel::GetCurrentPV(), G4PhysicalVolumeModel::GetFullPVPath(), and G4InuclParticleNames::name().

Field Documentation

◆ fFoundDepth

G4int G4PhysicalVolumeSearchScene::fFoundDepth
private

Definition at line 73 of file G4PhysicalVolumeSearchScene.hh.

Referenced by GetFoundDepth(), and ProcessVolume().

◆ fFoundFullPVPath

std::vector<G4PhysicalVolumeModel::G4PhysicalVolumeNodeID> G4PhysicalVolumeSearchScene::fFoundFullPVPath
private

Definition at line 72 of file G4PhysicalVolumeSearchScene.hh.

Referenced by GetFoundFullPVPath(), and ProcessVolume().

◆ fFoundObjectTransformation

G4Transform3D G4PhysicalVolumeSearchScene::fFoundObjectTransformation
private

Definition at line 75 of file G4PhysicalVolumeSearchScene.hh.

Referenced by GetFoundTransformation(), and ProcessVolume().

◆ fMultipleOccurrence

G4bool G4PhysicalVolumeSearchScene::fMultipleOccurrence
private

Definition at line 77 of file G4PhysicalVolumeSearchScene.hh.

Referenced by ProcessVolume().

◆ fpCurrentObjectTransformation

const G4Transform3D* G4PseudoScene::fpCurrentObjectTransformation
protectedinherited

◆ fpFoundPV

G4VPhysicalVolume* G4PhysicalVolumeSearchScene::fpFoundPV
private

Definition at line 74 of file G4PhysicalVolumeSearchScene.hh.

Referenced by GetFoundVolume(), and ProcessVolume().

◆ fpPVModel

const G4PhysicalVolumeModel* G4PhysicalVolumeSearchScene::fpPVModel
private

Definition at line 68 of file G4PhysicalVolumeSearchScene.hh.

Referenced by ProcessVolume().

◆ fRequiredCopyNo

G4int G4PhysicalVolumeSearchScene::fRequiredCopyNo
private

Definition at line 70 of file G4PhysicalVolumeSearchScene.hh.

Referenced by ProcessVolume().

◆ fRequiredPhysicalVolumeName

G4String G4PhysicalVolumeSearchScene::fRequiredPhysicalVolumeName
private

Definition at line 69 of file G4PhysicalVolumeSearchScene.hh.

Referenced by ProcessVolume().

◆ fVerbosity

G4int G4PhysicalVolumeSearchScene::fVerbosity
private

Definition at line 76 of file G4PhysicalVolumeSearchScene.hh.

Referenced by ProcessVolume().


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