Files
geant4/source/geometry/management/include/G4VPhysicalVolume.icc
T
2016-06-01 15:25:35 +02:00

103 lines
2.3 KiB
Plaintext

// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VPhysicalVolume.icc,v 2.0 1998/07/02 16:57:12 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// class G4VPhysicalVolume Inline Implementation
//
// Define equality by equal addresses only.
inline G4bool G4VPhysicalVolume::operator == (const G4VPhysicalVolume& p) const
{
return (this==&p) ? true : false;
}
// Access functions
inline const G4ThreeVector& G4VPhysicalVolume::GetTranslation() const
{
return ftrans;
}
inline void G4VPhysicalVolume::SetTranslation(const G4ThreeVector &v)
{
ftrans=v;
}
inline const G4RotationMatrix* G4VPhysicalVolume::GetRotation() const
{
return frot;
}
inline G4RotationMatrix* G4VPhysicalVolume::GetRotation()
{
return frot;
}
inline void G4VPhysicalVolume::SetRotation(G4RotationMatrix *pRot)
{
frot=pRot;
}
inline G4LogicalVolume* G4VPhysicalVolume::GetLogicalVolume() const
{
return flogical;
}
inline void G4VPhysicalVolume::SetLogicalVolume(G4LogicalVolume *pLogical)
{
flogical=pLogical;
}
inline G4VPhysicalVolume* G4VPhysicalVolume::GetMother() const
{
return fmother;
}
inline void G4VPhysicalVolume::SetMother(G4VPhysicalVolume *pMother)
{
fmother=pMother;
}
inline G4String G4VPhysicalVolume::GetName() const
{
return fname;
}
inline void G4VPhysicalVolume::SetName(const G4String& pName)
{
fname=pName;
}
inline G4RotationMatrix* G4VPhysicalVolume::GetObjectRotation() const
{
static G4RotationMatrix aRotM;
static G4RotationMatrix IdentityRM; // Never changed (from "1")
G4RotationMatrix* retval;
// Insure against frot being a null pointer
if(frot)
{
aRotM= frot->inverse();
retval= &aRotM;
}
else
{
retval= &IdentityRM;
}
return retval;
}
inline G4ThreeVector G4VPhysicalVolume::GetObjectTranslation() const
{
return ftrans;
}
inline const G4RotationMatrix* G4VPhysicalVolume::GetFrameRotation() const
{
return frot;
}
inline G4ThreeVector G4VPhysicalVolume::GetFrameTranslation() const
{
return -ftrans;
}