Geant4-11
Data Structures | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
G4PhysicalVolumesSearchScene Class Reference

#include <G4PhysicalVolumesSearchScene.hh>

Inheritance diagram for G4PhysicalVolumesSearchScene:
G4PseudoScene G4VGraphicsScene

Data Structures

struct  Findings
 
class  Matcher
 

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 ()
 
 G4PhysicalVolumesSearchScene (G4PhysicalVolumeModel *pSearchVolumeModel, const G4String &requiredPhysicalVolumeName, G4int requiredCopyNo=-1, G4int requiredContinuation=G4PhysicalVolumeModel::UNLIMITED)
 
virtual const G4VisExtentGetExtent () const
 
const std::vector< Findings > & GetFindings () const
 
void PostAddSolid ()
 
void PreAddSolid (const G4Transform3D &objectTransformation, const G4VisAttributes &)
 
virtual ~G4PhysicalVolumesSearchScene ()
 

Protected Attributes

const G4Transform3DfpCurrentObjectTransformation
 

Private Member Functions

void ProcessVolume (const G4VSolid &)
 

Private Attributes

std::vector< FindingsfFindings
 
Matcher fMatcher
 
const G4PhysicalVolumeModelfpSearchVolumesModel
 
G4int fRequiredContinuation
 
G4int fRequiredCopyNo
 

Detailed Description

Definition at line 45 of file G4PhysicalVolumesSearchScene.hh.

Constructor & Destructor Documentation

◆ G4PhysicalVolumesSearchScene()

G4PhysicalVolumesSearchScene::G4PhysicalVolumesSearchScene ( G4PhysicalVolumeModel pSearchVolumeModel,
const G4String requiredPhysicalVolumeName,
G4int  requiredCopyNo = -1,
G4int  requiredContinuation = G4PhysicalVolumeModel::UNLIMITED 
)

Definition at line 38 of file G4PhysicalVolumesSearchScene.cc.

43: fpSearchVolumesModel (pSearchVolumesModel)
44, fMatcher (requiredPhysicalVolumeName)
45, fRequiredCopyNo (requiredCopyNo)
46, fRequiredContinuation (requiredContinuation)
47{}
const G4PhysicalVolumeModel * fpSearchVolumesModel

◆ ~G4PhysicalVolumesSearchScene()

virtual G4PhysicalVolumesSearchScene::~G4PhysicalVolumesSearchScene ( )
inlinevirtual

Definition at line 56 of file G4PhysicalVolumesSearchScene.hh.

56{}

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().

◆ GetFindings()

const std::vector< Findings > & G4PhysicalVolumesSearchScene::GetFindings ( ) const
inline

◆ 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 G4PhysicalVolumesSearchScene::ProcessVolume ( const G4VSolid )
privatevirtual

Reimplemented from G4PseudoScene.

Definition at line 49 of file G4PhysicalVolumesSearchScene.cc.

50{
52 const G4String& name = pCurrentPV->GetName();
54
55 // Match the name with the required physical volume name. The latter can be of
56 // the form "/regexp/", where regexp is a regular expression (see C++ regex),
57 // or a plain name, in which case there must be an exact match.
58 if (fMatcher.Match(name)) {
59 if ((fRequiredCopyNo < 0 || // I.e., ignore negative request
60 fRequiredCopyNo == copyNo)) {
61 auto basePath = fpSearchVolumesModel->GetFullPVPath();
62 basePath.pop_back(); // Base node is one up from found node
63 // Mark base path nodes as not drawn
64 for (auto& node: basePath) node.SetDrawn(false);
65 fFindings.push_back
66 (Findings
68 pCurrentPV,
69 copyNo,
71 basePath,
73 // If user has asked for limited descent
74 if (fRequiredContinuation >= 0) {
75 static G4int firstFoundDepth = fpSearchVolumesModel->GetCurrentDepth();
77 if (foundDepth >= firstFoundDepth + fRequiredContinuation) {
79 }
80 }
81 }
82 }
83}
int G4int
Definition: G4Types.hh:85
G4VPhysicalVolume * GetCurrentPV() const
const std::vector< G4PhysicalVolumeNodeID > & GetFullPVPath() const
G4VPhysicalVolume * GetTopPhysicalVolume() const
const G4String & GetName() const
const char * name(G4int ptype)

References G4PhysicalVolumeModel::CurtailDescent(), fFindings, fMatcher, G4PseudoScene::fpCurrentObjectTransformation, fpSearchVolumesModel, fRequiredContinuation, fRequiredCopyNo, G4PhysicalVolumeModel::GetCurrentDepth(), G4PhysicalVolumeModel::GetCurrentPV(), G4PhysicalVolumeModel::GetCurrentPVCopyNo(), G4PhysicalVolumeModel::GetFullPVPath(), G4VPhysicalVolume::GetName(), G4PhysicalVolumeModel::GetTopPhysicalVolume(), G4PhysicalVolumesSearchScene::Matcher::Match(), and G4InuclParticleNames::name().

Field Documentation

◆ fFindings

std::vector<Findings> G4PhysicalVolumesSearchScene::fFindings
private

Definition at line 114 of file G4PhysicalVolumesSearchScene.hh.

Referenced by GetFindings(), and ProcessVolume().

◆ fMatcher

Matcher G4PhysicalVolumesSearchScene::fMatcher
private

Definition at line 111 of file G4PhysicalVolumesSearchScene.hh.

Referenced by ProcessVolume().

◆ fpCurrentObjectTransformation

const G4Transform3D* G4PseudoScene::fpCurrentObjectTransformation
protectedinherited

◆ fpSearchVolumesModel

const G4PhysicalVolumeModel* G4PhysicalVolumesSearchScene::fpSearchVolumesModel
private

Definition at line 110 of file G4PhysicalVolumesSearchScene.hh.

Referenced by ProcessVolume().

◆ fRequiredContinuation

G4int G4PhysicalVolumesSearchScene::fRequiredContinuation
private

Definition at line 113 of file G4PhysicalVolumesSearchScene.hh.

Referenced by ProcessVolume().

◆ fRequiredCopyNo

G4int G4PhysicalVolumesSearchScene::fRequiredCopyNo
private

Definition at line 112 of file G4PhysicalVolumesSearchScene.hh.

Referenced by ProcessVolume().


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