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

#include <G4TouchablePropertiesScene.hh>

Inheritance diagram for G4TouchablePropertiesScene:
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 ()
 
 G4TouchablePropertiesScene (G4PhysicalVolumeModel *pSearchPVModel, const G4ModelingParameters::PVNameCopyNoPath &requiredTouchable)
 
virtual const G4VisExtentGetExtent () const
 
const G4PhysicalVolumeModel::TouchablePropertiesGetFoundTouchableProperties () const
 
void PostAddSolid ()
 
void PreAddSolid (const G4Transform3D &objectTransformation, const G4VisAttributes &)
 
virtual ~G4TouchablePropertiesScene ()
 

Protected Attributes

const G4Transform3DfpCurrentObjectTransformation
 

Private Member Functions

void ProcessVolume (const G4VSolid &)
 

Private Attributes

G4PhysicalVolumeModel::TouchableProperties fFoundTouchableProperties
 
const G4PhysicalVolumeModelfpSearchPVModel
 
G4ModelingParameters::PVNameCopyNoPath fRequiredTouchable
 

Detailed Description

Definition at line 42 of file G4TouchablePropertiesScene.hh.

Constructor & Destructor Documentation

◆ G4TouchablePropertiesScene()

G4TouchablePropertiesScene::G4TouchablePropertiesScene ( G4PhysicalVolumeModel pSearchPVModel,
const G4ModelingParameters::PVNameCopyNoPath requiredTouchable 
)

Definition at line 36 of file G4TouchablePropertiesScene.cc.

39:fpSearchPVModel(pSearchPVModel)
40,fRequiredTouchable(requiredTouchable)
41{}
G4ModelingParameters::PVNameCopyNoPath fRequiredTouchable
const G4PhysicalVolumeModel * fpSearchPVModel

◆ ~G4TouchablePropertiesScene()

G4TouchablePropertiesScene::~G4TouchablePropertiesScene ( )
virtual

Definition at line 43 of file G4TouchablePropertiesScene.cc.

43{}

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

◆ GetFoundTouchableProperties()

const G4PhysicalVolumeModel::TouchableProperties & G4TouchablePropertiesScene::GetFoundTouchableProperties ( ) 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 G4TouchablePropertiesScene::ProcessVolume ( const G4VSolid )
privatevirtual

Reimplemented from G4PseudoScene.

Definition at line 45 of file G4TouchablePropertiesScene.cc.

45 {
46
47 const std::vector<G4PhysicalVolumeModel::G4PhysicalVolumeNodeID>&
48 fullPVPath = fpSearchPVModel->GetFullPVPath();
49
50 if (fRequiredTouchable.size() == fullPVPath.size()) {
52 std::vector<G4PhysicalVolumeModel::G4PhysicalVolumeNodeID>::const_iterator
53 iPVNodeId;
54 for (iNameCopyNo = fRequiredTouchable.begin(), iPVNodeId = fullPVPath.begin();
55 iNameCopyNo != fRequiredTouchable.end();
56 ++iNameCopyNo, ++iPVNodeId) {
57 if (!(
58 iNameCopyNo->GetName() ==
59 iPVNodeId->GetPhysicalVolume()->GetName() &&
60 iNameCopyNo->GetCopyNo() ==
61 iPVNodeId->GetPhysicalVolume()->GetCopyNo()
62 )) {
63 break;
64 }
65 }
66 if (iNameCopyNo == fRequiredTouchable.end()) {
72 // Base path is one down from found PV
74 fpSearchPVModel->Abort(); // No need to look further.
75 }
76 }
77}
PVNameCopyNoPath::const_iterator PVNameCopyNoPathConstIterator
const G4Transform3D & GetCurrentTransform() const
G4VPhysicalVolume * GetCurrentPV() const
const std::vector< G4PhysicalVolumeNodeID > & GetFullPVPath() const
G4ModelingParameters::PVNameCopyNoPath fTouchablePath
std::vector< G4PhysicalVolumeNodeID > fTouchableBaseFullPVPath

References G4PhysicalVolumeModel::Abort(), G4PhysicalVolumeModel::TouchableProperties::fCopyNo, fFoundTouchableProperties, fpSearchPVModel, G4PhysicalVolumeModel::TouchableProperties::fpTouchablePV, fRequiredTouchable, G4PhysicalVolumeModel::TouchableProperties::fTouchableBaseFullPVPath, G4PhysicalVolumeModel::TouchableProperties::fTouchableGlobalTransform, G4PhysicalVolumeModel::TouchableProperties::fTouchablePath, G4PhysicalVolumeModel::GetCurrentPV(), G4PhysicalVolumeModel::GetCurrentPVCopyNo(), G4PhysicalVolumeModel::GetCurrentTransform(), and G4PhysicalVolumeModel::GetFullPVPath().

Field Documentation

◆ fFoundTouchableProperties

G4PhysicalVolumeModel::TouchableProperties G4TouchablePropertiesScene::fFoundTouchableProperties
private

Definition at line 62 of file G4TouchablePropertiesScene.hh.

Referenced by GetFoundTouchableProperties(), and ProcessVolume().

◆ fpCurrentObjectTransformation

const G4Transform3D* G4PseudoScene::fpCurrentObjectTransformation
protectedinherited

◆ fpSearchPVModel

const G4PhysicalVolumeModel* G4TouchablePropertiesScene::fpSearchPVModel
private

Definition at line 60 of file G4TouchablePropertiesScene.hh.

Referenced by ProcessVolume().

◆ fRequiredTouchable

G4ModelingParameters::PVNameCopyNoPath G4TouchablePropertiesScene::fRequiredTouchable
private

Definition at line 61 of file G4TouchablePropertiesScene.hh.

Referenced by ProcessVolume().


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