Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4TouchableHistory Class Reference

#include <G4TouchableHistory.hh>

+ Inheritance diagram for G4TouchableHistory:

Public Member Functions

 G4TouchableHistory (const G4NavigationHistory &history)
 
 G4TouchableHistory ()
 
 ~G4TouchableHistory ()
 
G4VPhysicalVolumeGetVolume (G4int depth=0) const
 
G4VSolidGetSolid (G4int depth=0) const
 
const G4ThreeVectorGetTranslation (G4int depth=0) const
 
const G4RotationMatrixGetRotation (G4int depth=0) const
 
G4int GetReplicaNumber (G4int depth=0) const
 
G4int GetHistoryDepth () const
 
G4int MoveUpHistory (G4int num_levels=1)
 
void UpdateYourself (G4VPhysicalVolume *pPhysVol, const G4NavigationHistory *history=0)
 
const G4NavigationHistoryGetHistory () const
 
void * operator new (size_t)
 
void operator delete (void *aTH)
 
- Public Member Functions inherited from G4VTouchable
 G4VTouchable ()
 
virtual ~G4VTouchable ()
 
virtual const G4ThreeVectorGetTranslation (G4int depth=0) const =0
 
virtual const G4RotationMatrixGetRotation (G4int depth=0) const =0
 
virtual G4VPhysicalVolumeGetVolume (G4int depth=0) const
 
virtual G4VSolidGetSolid (G4int depth=0) const
 
virtual G4int GetReplicaNumber (G4int depth=0) const
 
G4int GetCopyNumber (G4int depth=0) const
 
virtual G4int GetHistoryDepth () const
 
virtual G4int MoveUpHistory (G4int num_levels=1)
 
virtual void UpdateYourself (G4VPhysicalVolume *pPhysVol, const G4NavigationHistory *history=0)
 
virtual const G4NavigationHistoryGetHistory () const
 

Detailed Description

Definition at line 51 of file G4TouchableHistory.hh.

Constructor & Destructor Documentation

◆ G4TouchableHistory() [1/2]

G4TouchableHistory::G4TouchableHistory ( const G4NavigationHistory history)

Definition at line 47 of file G4TouchableHistory.cc.

48 : fhistory(history)
49{
51 ftlate = tf.NetTranslation();
52 frot = tf.NetRotation();
53}
G4AffineTransform Inverse() const
const G4AffineTransform & GetTopTransform() const

◆ G4TouchableHistory() [2/2]

G4TouchableHistory::G4TouchableHistory ( )

Definition at line 38 of file G4TouchableHistory.cc.

39 : frot(G4RotationMatrix()),
40 ftlate(G4ThreeVector(0.,0.,0.)),
41 fhistory()
42{
43 G4VPhysicalVolume* pPhysVol=0;
44 fhistory.SetFirstEntry(pPhysVol);
45}
CLHEP::HepRotation G4RotationMatrix
CLHEP::Hep3Vector G4ThreeVector
void SetFirstEntry(G4VPhysicalVolume *pVol)

◆ ~G4TouchableHistory()

G4TouchableHistory::~G4TouchableHistory ( )

Definition at line 55 of file G4TouchableHistory.cc.

56{
57}

Member Function Documentation

◆ GetHistory()

◆ GetHistoryDepth()

G4int G4TouchableHistory::GetHistoryDepth ( ) const
inlinevirtual

Reimplemented from G4VTouchable.

◆ GetReplicaNumber()

G4int G4TouchableHistory::GetReplicaNumber ( G4int  depth = 0) const
inlinevirtual

Reimplemented from G4VTouchable.

Referenced by G4VPrimitiveScorer::GetIndex().

◆ GetRotation()

const G4RotationMatrix * G4TouchableHistory::GetRotation ( G4int  depth = 0) const
virtual

Implements G4VTouchable.

Definition at line 79 of file G4TouchableHistory.cc.

80{
81 // The value returned will change at the next call
82 // Copy it if you want to use it!
83 //
84 static G4RotationMatrix rotM;
85
86 if(depth==0.0)
87 {
88 return &frot;
89 }
90 else
91 {
92 rotM = fhistory.GetTransform(CalculateHistoryIndex(depth)).NetRotation();
93 return &rotM;
94 }
95}
G4RotationMatrix NetRotation() const
const G4AffineTransform & GetTransform(G4int n) const

◆ GetSolid()

G4VSolid * G4TouchableHistory::GetSolid ( G4int  depth = 0) const
inlinevirtual

Reimplemented from G4VTouchable.

◆ GetTranslation()

const G4ThreeVector & G4TouchableHistory::GetTranslation ( G4int  depth = 0) const
virtual

Implements G4VTouchable.

Definition at line 60 of file G4TouchableHistory.cc.

61{
62 // The value returned will change at the next call
63 // Copy it if you want to use it!
64 //
65 static G4ThreeVector currTranslation;
66 if(depth==0.0)
67 {
68 return ftlate;
69 }
70 else
71 {
72 currTranslation =
73 fhistory.GetTransform(CalculateHistoryIndex(depth)).NetTranslation();
74 return currTranslation;
75 }
76}
G4ThreeVector NetTranslation() const

◆ GetVolume()

G4VPhysicalVolume * G4TouchableHistory::GetVolume ( G4int  depth = 0) const
inlinevirtual

Reimplemented from G4VTouchable.

Referenced by G4VReadOutGeometry::FindROTouchable().

◆ MoveUpHistory()

G4int G4TouchableHistory::MoveUpHistory ( G4int  num_levels = 1)
virtual

◆ operator delete()

void G4TouchableHistory::operator delete ( void *  aTH)
inline

◆ operator new()

void * G4TouchableHistory::operator new ( size_t  )
inline

◆ UpdateYourself()

void G4TouchableHistory::UpdateYourself ( G4VPhysicalVolume pPhysVol,
const G4NavigationHistory history = 0 
)
virtual

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