Geant4  10.02.p03
G4GRSSolid Class Reference

#include <G4GRSSolid.hh>

Inheritance diagram for G4GRSSolid:
Collaboration diagram for G4GRSSolid:

Public Member Functions

 G4GRSSolid (G4VSolid *pSolid, const G4RotationMatrix *pRot, const G4ThreeVector &tlate)
 
 G4GRSSolid (G4VSolid *pSolid, const G4RotationMatrix &rot, const G4ThreeVector &tlate)
 
 ~G4GRSSolid ()
 
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 G4VPhysicalVolumeGetVolume (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
 

Private Member Functions

 G4GRSSolid (const G4GRSSolid &)
 
G4GRSSolidoperator= (const G4GRSSolid &)
 

Private Attributes

G4VSolidfsolid
 
G4RotationMatrixfrot
 
G4ThreeVector ftlate
 

Detailed Description

Definition at line 51 of file G4GRSSolid.hh.

Constructor & Destructor Documentation

◆ G4GRSSolid() [1/3]

G4GRSSolid::G4GRSSolid ( G4VSolid pSolid,
const G4RotationMatrix pRot,
const G4ThreeVector tlate 
)

◆ G4GRSSolid() [2/3]

G4GRSSolid::G4GRSSolid ( G4VSolid pSolid,
const G4RotationMatrix rot,
const G4ThreeVector tlate 
)

◆ ~G4GRSSolid()

G4GRSSolid::~G4GRSSolid ( )

Definition at line 36 of file G4GRSSolid.cc.

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

◆ G4GRSSolid() [3/3]

G4GRSSolid::G4GRSSolid ( const G4GRSSolid right)
private

Definition at line 41 of file G4GRSSolid.cc.

42  : G4VTouchable(), fsolid(0)
43 {
44  if (frot) { delete frot; }
45  frot = 0;
46  fsolid = right.fsolid;
47  ftlate = right.ftlate;
48  if (right.frot)
49  {
50  frot = new G4RotationMatrix(*(right.frot));
51  }
52 }
CLHEP::HepRotation G4RotationMatrix
G4ThreeVector ftlate
Definition: G4GRSSolid.hh:77
G4RotationMatrix * frot
Definition: G4GRSSolid.hh:76
G4VSolid * fsolid
Definition: G4GRSSolid.hh:75

Member Function Documentation

◆ GetRotation()

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

Implements G4VTouchable.

◆ GetSolid()

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

Reimplemented from G4VTouchable.

◆ GetTranslation()

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

Implements G4VTouchable.

◆ operator=()

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

Definition at line 54 of file G4GRSSolid.cc.

55 {
56  if (&right == this) { return *this; }
57 
58  fsolid = right.fsolid;
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
G4ThreeVector ftlate
Definition: G4GRSSolid.hh:77
G4RotationMatrix * frot
Definition: G4GRSSolid.hh:76
G4VSolid * fsolid
Definition: G4GRSSolid.hh:75

Member Data Documentation

◆ frot

G4RotationMatrix* G4GRSSolid::frot
private

Definition at line 76 of file G4GRSSolid.hh.

◆ fsolid

G4VSolid* G4GRSSolid::fsolid
private

Definition at line 75 of file G4GRSSolid.hh.

◆ ftlate

G4ThreeVector G4GRSSolid::ftlate
private

Definition at line 77 of file G4GRSSolid.hh.


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