G4GRSVolume Class Reference

#include <G4GRSVolume.hh>

Inheritance diagram for G4GRSVolume:

G4VTouchable

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

Detailed Description

Definition at line 53 of file G4GRSVolume.hh.


Constructor & Destructor Documentation

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

Definition at line 34 of file G4GRSVolume.icc.

References FatalException, and G4Exception().

00037   : G4VTouchable(),
00038     fvol(pVol),
00039     ftlate(tlate)
00040 {
00041   if ( pRot )
00042   {
00043     frot = new G4RotationMatrix(*pRot);
00044     if ( !frot )
00045     {
00046       G4Exception("G4GRSVolume::G4GRSVolume()", "GeomVol0002", FatalException,
00047                   "Cannot allocate G4RotationMatrix, NULL pointer.");
00048     }
00049   }
00050   else
00051   {
00052     frot = 0;
00053   }
00054 }

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

Definition at line 57 of file G4GRSVolume.icc.

References FatalException, and G4Exception().

00060   : G4VTouchable(),
00061     fvol(pVol),
00062     ftlate(tlate)
00063 {
00064   frot = new G4RotationMatrix(rot);
00065   if ( !frot )
00066   {
00067     G4Exception("G4GRSVolume::G4GRSVolume()", "GeomVol0002", FatalException,
00068                 "Cannot allocate G4RotationMatrix, NULL pointer.");
00069   }
00070 }

G4GRSVolume::~G4GRSVolume (  ) 

Definition at line 36 of file G4GRSVolume.cc.

00037 {
00038   delete frot;             // safe if null
00039 }


Member Function Documentation

const G4RotationMatrix * G4GRSVolume::GetRotation ( G4int  depth = 0  )  const [inline, virtual]

Implements G4VTouchable.

Definition at line 106 of file G4GRSVolume.icc.

References FatalException, and G4Exception().

00107 {
00108   if( depth != 0 )
00109   {
00110     G4Exception("G4GRSVolume::GetRotation()", "GeomVol0003",
00111                 FatalException, "History depth in input must be 0 !");
00112   }
00113   return frot;
00114 }

G4VSolid * G4GRSVolume::GetSolid ( G4int  depth = 0  )  const [inline, virtual]

Reimplemented from G4VTouchable.

Definition at line 84 of file G4GRSVolume.icc.

References FatalException, G4Exception(), G4VPhysicalVolume::GetLogicalVolume(), and G4LogicalVolume::GetSolid().

00085 {
00086   if( depth != 0 )
00087   {
00088     G4Exception("G4GRSVolume::GetSolid()", "GeomVol0003",
00089                 FatalException, "History depth in input must be 0 !");
00090   }
00091   return fvol->GetLogicalVolume()->GetSolid();
00092 }

const G4ThreeVector & G4GRSVolume::GetTranslation ( G4int  depth = 0  )  const [inline, virtual]

Implements G4VTouchable.

Definition at line 95 of file G4GRSVolume.icc.

References FatalException, and G4Exception().

00096 {
00097   if( depth != 0 )
00098   {
00099     G4Exception("G4GRSVolume::GetTranslation()", "GeomVol0003",
00100                 FatalException, "History depth in input must be 0 !");
00101   }
00102   return ftlate;
00103 }

G4VPhysicalVolume * G4GRSVolume::GetVolume ( G4int  depth = 0  )  const [inline, virtual]

Reimplemented from G4VTouchable.

Definition at line 73 of file G4GRSVolume.icc.

References FatalException, and G4Exception().

00074 {
00075   if( depth != 0 )
00076   {
00077     G4Exception("G4GRSVolume::GetVolume()", "GeomVol0003",
00078                 FatalException, "History depth in input must be 0 !");
00079   }
00080   return fvol;
00081 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:07 2013 for Geant4 by  doxygen 1.4.7