64 if( zaxis.cross(theCircleAxis).mag() > 1.E-6 )
66 theDirInPlane = zaxis.
cross(theCircleAxis);
92 if( theCircleAxis.
mag() == 0. )
94 G4Exception(
"G4tgbPlaceParamCircle::G4tgbPlaceParamCircle()",
97 theCircleAxis /= theCircleAxis.
mag();
109 G4cout <<
" G4tgbPlaceParamCircle::G4tgbPlaceParamCircle():" <<
G4endl
112 <<
" step - " << theStep <<
G4endl
113 <<
" offset - " << theOffset <<
G4endl
114 <<
" radius - " << theRadius <<
G4endl
115 <<
" circle axis - " << theCircleAxis <<
G4endl
116 <<
" dir in plane - " << theDirInPlane <<
G4endl;
126 G4double posi = theOffset + copyNo*theStep;
128 origin.
rotate( posi, theCircleAxis );
132 rm.
rotate( -posi, theCircleAxis );
148 G4cout <<
" G4tgbPlaceParamCircle::ComputeTransformation():"
151 <<
" centre - " << origin <<
G4endl
152 <<
" rotation-matrix - " << *pvRm <<
G4endl;
void CheckNExtraData(G4tgrPlaceParameterisation *tgrParam, G4int nWcheck, WLSIZEtype st, const G4String &methodName)
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
const G4RotationMatrix * GetRotation() const
void SetRotation(G4RotationMatrix *)
HepRotation & rotate(double delta, const Hep3Vector &axis)
std::vector< G4double > GetExtraData() const
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
static G4int GetVerboseLevel()
virtual void SetCopyNo(G4int CopyNo)=0
void SetTranslation(const G4ThreeVector &v)
const G4String & GetParamType() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4tgbPlaceParamCircle(G4tgrPlaceParameterisation *)
Hep3Vector cross(const Hep3Vector &) const
G4RotationMatrix * theRotationMatrix
Hep3Vector & rotate(double, const Hep3Vector &)