G4NavigationLevelRep Class Reference

#include <G4NavigationLevelRep.hh>


Public Member Functions

 G4NavigationLevelRep (G4VPhysicalVolume *newPtrPhysVol, const G4AffineTransform &newT, EVolume newVolTp, G4int newRepNo=-1)
 G4NavigationLevelRep (G4VPhysicalVolume *newPtrPhysVol, const G4AffineTransform &levelAbove, const G4AffineTransform &relativeCurrent, EVolume newVolTp, G4int newRepNo=-1)
 G4NavigationLevelRep ()
 G4NavigationLevelRep (G4NavigationLevelRep &)
 ~G4NavigationLevelRep ()
G4NavigationLevelRepoperator= (const G4NavigationLevelRep &right)
G4VPhysicalVolumeGetPhysicalVolume ()
const G4AffineTransformGetTransformPtr () const
const G4AffineTransformGetTransform () const
EVolume GetVolumeType () const
G4int GetReplicaNo () const
void AddAReference ()
G4bool RemoveAReference ()
void * operator new (size_t)
void operator delete (void *aTrack)


Detailed Description

Definition at line 53 of file G4NavigationLevelRep.hh.


Constructor & Destructor Documentation

G4NavigationLevelRep::G4NavigationLevelRep ( G4VPhysicalVolume newPtrPhysVol,
const G4AffineTransform newT,
EVolume  newVolTp,
G4int  newRepNo = -1 
)

Definition at line 40 of file G4NavigationLevelRep.cc.

00044    :  sTransform(afTransform),
00045       sPhysicalVolumePtr(pPhysVol),
00046       sReplicaNo(repNo),
00047       sVolumeType(volTp),
00048       fCountRef(1) 
00049 {
00050 }

G4NavigationLevelRep::G4NavigationLevelRep ( G4VPhysicalVolume newPtrPhysVol,
const G4AffineTransform levelAbove,
const G4AffineTransform relativeCurrent,
EVolume  newVolTp,
G4int  newRepNo = -1 
)

Definition at line 61 of file G4NavigationLevelRep.cc.

References G4AffineTransform::InverseProduct().

00066    :  sPhysicalVolumePtr(pPhysVol),
00067       sReplicaNo(repNo),
00068       sVolumeType(volTp),
00069       fCountRef(1) 
00070 {
00071   sTransform.InverseProduct( levelAbove, relativeCurrent );
00072 }

G4NavigationLevelRep::G4NavigationLevelRep (  ) 

Definition at line 52 of file G4NavigationLevelRep.cc.

00053    :  sTransform(),
00054       sPhysicalVolumePtr(0),
00055       sReplicaNo(-1),
00056       sVolumeType(kReplica),
00057       fCountRef(1) 
00058 {
00059 }

G4NavigationLevelRep::G4NavigationLevelRep ( G4NavigationLevelRep  ) 

Definition at line 74 of file G4NavigationLevelRep.cc.

00075    :  sTransform(right.sTransform), 
00076       sPhysicalVolumePtr(right.sPhysicalVolumePtr),
00077       sReplicaNo(right.sReplicaNo),
00078       sVolumeType(right.sVolumeType),
00079       fCountRef(1) 
00080 {
00081 }

G4NavigationLevelRep::~G4NavigationLevelRep (  ) 

Definition at line 86 of file G4NavigationLevelRep.cc.

References FatalException, and G4Exception().

00087 {
00088 #ifdef DEBUG_NAVIG_LEVEL
00089   if(fCountRef>0)
00090   {
00091     G4Exception("G4NavigationLevelRep::~G4NavigationLevelRep()",
00092                 "GeomVol0003", FatalException,
00093                 "Deletion of data-level object with positive reference count.");
00094   } 
00095 #endif
00096 }


Member Function Documentation

void G4NavigationLevelRep::AddAReference (  )  [inline]

Definition at line 76 of file G4NavigationLevelRep.icc.

Referenced by G4NavigationLevel::G4NavigationLevel(), and G4NavigationLevel::operator=().

00077 {
00078   fCountRef++; 
00079 }

G4VPhysicalVolume * G4NavigationLevelRep::GetPhysicalVolume (  )  [inline]

Definition at line 44 of file G4NavigationLevelRep.icc.

Referenced by G4NavigationLevel::GetPhysicalVolume().

00045 { 
00046   return sPhysicalVolumePtr; 
00047 }

G4int G4NavigationLevelRep::GetReplicaNo (  )  const [inline]

Definition at line 70 of file G4NavigationLevelRep.icc.

Referenced by G4NavigationLevel::GetReplicaNo().

00071 { 
00072   return sReplicaNo; 
00073 }

const G4AffineTransform & G4NavigationLevelRep::GetTransform (  )  const [inline]

Definition at line 51 of file G4NavigationLevelRep.icc.

Referenced by G4NavigationLevel::GetTransform().

00052 { 
00053   return sTransform; 
00054 } 

const G4AffineTransform * G4NavigationLevelRep::GetTransformPtr (  )  const [inline]

Definition at line 58 of file G4NavigationLevelRep.icc.

Referenced by G4NavigationLevel::GetPtrTransform().

00059 { 
00060   return &sTransform; 
00061 } 

EVolume G4NavigationLevelRep::GetVolumeType (  )  const [inline]

Definition at line 64 of file G4NavigationLevelRep.icc.

Referenced by G4NavigationLevel::GetVolumeType().

00065 { 
00066   return sVolumeType; 
00067 }

void G4NavigationLevelRep::operator delete ( void *  aTrack  )  [inline]

Definition at line 98 of file G4NavigationLevelRep.icc.

References aNavigLevelRepAllocator.

00099 {
00100   aNavigLevelRepAllocator.FreeSingle((G4NavigationLevelRep *) aLevelRep);
00101 }

void * G4NavigationLevelRep::operator new ( size_t   )  [inline]

Definition at line 92 of file G4NavigationLevelRep.icc.

References aNavigLevelRepAllocator.

00093 {
00094   return (void *) aNavigLevelRepAllocator.MallocSingle();
00095 }

G4NavigationLevelRep & G4NavigationLevelRep::operator= ( const G4NavigationLevelRep right  ) 

Definition at line 102 of file G4NavigationLevelRep.cc.

References fCountRef, sPhysicalVolumePtr, sReplicaNo, sTransform, and sVolumeType.

00103 { 
00104   if ( &right != this )
00105   {
00106     sTransform =  right.sTransform;  
00107     sPhysicalVolumePtr = right.sPhysicalVolumePtr;
00108     sVolumeType = right.sVolumeType;
00109     sReplicaNo =  right.sReplicaNo;
00110     fCountRef = right.fCountRef;
00111   }
00112   return *this;
00113 } 

G4bool G4NavigationLevelRep::RemoveAReference (  )  [inline]

Definition at line 82 of file G4NavigationLevelRep.icc.

Referenced by G4NavigationLevel::operator=(), and G4NavigationLevel::~G4NavigationLevel().

00083 {
00084   return( --fCountRef <= 0 ); 
00085 }


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