Geant4  10.02.p03
G4GRSVolume Class Reference

#include <G4GRSVolume.hh>

Inheritance diagram for G4GRSVolume:
Collaboration diagram for G4GRSVolume:

Public Member Functions

 G4GRSVolume (G4VPhysicalVolume *pVol, const G4RotationMatrix *pRot, const G4ThreeVector &tlate)
 
 G4GRSVolume (G4VPhysicalVolume *pVol, const G4RotationMatrix &rot, const G4ThreeVector &tlate)
 
 ~G4GRSVolume ()
 
G4VPhysicalVolumeGetVolume (G4int depth=0) const
 
G4VSolidGetSolid (G4int depth=0) const
 
const G4ThreeVectorGetTranslation (G4int depth=0) const
 
const G4RotationMatrixGetRotation (G4int depth=0) const
 
- Public Member Functions inherited from G4VTouchable
 G4VTouchable ()
 
virtual ~G4VTouchable ()
 
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
 

Private Member Functions

 G4GRSVolume (const G4GRSVolume &)
 
G4GRSVolumeoperator= (const G4GRSVolume &)
 

Private Attributes

G4VPhysicalVolumefvol
 
G4RotationMatrixfrot
 
G4ThreeVector ftlate
 

Detailed Description

Definition at line 53 of file G4GRSVolume.hh.

Constructor & Destructor Documentation

◆ G4GRSVolume() [1/3]

G4GRSVolume::G4GRSVolume ( G4VPhysicalVolume pVol,
const G4RotationMatrix pRot,
const G4ThreeVector tlate 
)

◆ G4GRSVolume() [2/3]

G4GRSVolume::G4GRSVolume ( G4VPhysicalVolume pVol,
const G4RotationMatrix rot,
const G4ThreeVector tlate 
)

◆ ~G4GRSVolume()

G4GRSVolume::~G4GRSVolume ( )

Definition at line 36 of file G4GRSVolume.cc.

37 {
38  delete frot; // safe if null
39 }
G4RotationMatrix * frot
Definition: G4GRSVolume.hh:79

◆ G4GRSVolume() [3/3]

G4GRSVolume::G4GRSVolume ( const G4GRSVolume right)
private

Definition at line 41 of file G4GRSVolume.cc.

42  : G4VTouchable(), fvol(0)
43 {
44  if (frot) { delete frot; }
45  frot = 0;
46  fvol = right.fvol;
47  ftlate = right.ftlate;
48  if (right.frot)
49  {
50  frot = new G4RotationMatrix(*(right.frot));
51  }
52 }
CLHEP::HepRotation G4RotationMatrix
G4VPhysicalVolume * fvol
Definition: G4GRSVolume.hh:78
G4ThreeVector ftlate
Definition: G4GRSVolume.hh:80
G4RotationMatrix * frot
Definition: G4GRSVolume.hh:79

Member Function Documentation

◆ GetRotation()

const G4RotationMatrix* G4GRSVolume::GetRotation ( G4int  depth = 0) const
inlinevirtual

Implements G4VTouchable.

◆ GetSolid()

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

Reimplemented from G4VTouchable.

◆ GetTranslation()

const G4ThreeVector& G4GRSVolume::GetTranslation ( G4int  depth = 0) const
inlinevirtual

Implements G4VTouchable.

◆ GetVolume()

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

Reimplemented from G4VTouchable.

◆ operator=()

G4GRSVolume & G4GRSVolume::operator= ( const G4GRSVolume right)
private

Definition at line 54 of file G4GRSVolume.cc.

55 {
56  if (&right == this) { return *this; }
57 
58  fvol = right.fvol;
59  ftlate = right.ftlate;
60  if (frot)
61  {
62  delete frot;
63  frot = 0;
64  }
65  if (right.frot)
66  {
67  frot = new G4RotationMatrix(*(right.frot));
68  }
69 
70  return *this;
71 }
CLHEP::HepRotation G4RotationMatrix
G4VPhysicalVolume * fvol
Definition: G4GRSVolume.hh:78
G4ThreeVector ftlate
Definition: G4GRSVolume.hh:80
G4RotationMatrix * frot
Definition: G4GRSVolume.hh:79

Member Data Documentation

◆ frot

G4RotationMatrix* G4GRSVolume::frot
private

Definition at line 79 of file G4GRSVolume.hh.

◆ ftlate

G4ThreeVector G4GRSVolume::ftlate
private

Definition at line 80 of file G4GRSVolume.hh.

◆ fvol

G4VPhysicalVolume* G4GRSVolume::fvol
private

Definition at line 78 of file G4GRSVolume.hh.


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