G4GRSSolid Class Reference

#include <G4GRSSolid.hh>

Inheritance diagram for G4GRSSolid:

G4VTouchable

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

Detailed Description

Definition at line 51 of file G4GRSSolid.hh.


Constructor & Destructor Documentation

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

Definition at line 34 of file G4GRSSolid.icc.

References FatalException, and G4Exception().

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

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

Definition at line 57 of file G4GRSSolid.icc.

References FatalException, and G4Exception().

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

G4GRSSolid::~G4GRSSolid (  ) 

Definition at line 36 of file G4GRSSolid.cc.

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


Member Function Documentation

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

Implements G4VTouchable.

Definition at line 95 of file G4GRSSolid.icc.

References FatalException, and G4Exception().

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

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

Reimplemented from G4VTouchable.

Definition at line 73 of file G4GRSSolid.icc.

References FatalException, and G4Exception().

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

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

Implements G4VTouchable.

Definition at line 84 of file G4GRSSolid.icc.

References FatalException, and G4Exception().

00085 {
00086   if( depth != 0 )
00087   {
00088     G4Exception("G4GRSSolid::GetTranslation()", "GeomVol0003",
00089                 FatalException, "History depth in input must be 0 !");
00090   }
00091   return ftlate;
00092 }


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