82 if(theDirection1.
mag() == 0.)
84 G4Exception(
"G4tgbPlaceParamSquare::G4tgbPlaceParamSquare()",
89 theDirection1 /= theDirection1.
mag();
91 if(theDirection2.
mag() == 0.)
93 G4Exception(
"G4tgbPlaceParamSquare::G4tgbPlaceParamSquare()",
98 theDirection2 /= theDirection2.
mag();
109 theTranslation = theOffset1 * theDirection1 + theOffset2 * theDirection2;
114 << theNCopies1 <<
" X " << theNCopies2 <<
G4endl <<
" offset1 "
115 << theOffset1 <<
G4endl <<
" offset2 " << theOffset1 <<
G4endl
116 <<
" step1 " << theStep1 <<
G4endl <<
" step2 " << theStep2 <<
G4endl
117 <<
" direction1 " << theDirection1 <<
G4endl <<
" direction2 "
130 G4cout <<
" G4tgbPlaceParamSquare::ComputeTransformation():"
132 <<
G4endl <<
" offset1 " << theOffset1 <<
G4endl <<
" offset2 "
133 << theOffset2 <<
G4endl <<
" step1 " << theStep1 <<
G4endl
134 <<
" step2 " << theStep2 <<
G4endl;
138 G4int copyNo1 = copyNo % theNCopies1;
140 G4double posi1 = copyNo1 * theStep1;
141 G4double posi2 = copyNo2 * theStep2;
142 G4ThreeVector origin = posi1 * theDirection1 + posi2 * theDirection2;
148 G4cout <<
" G4tgbPlaceParamSquare::ComputeTransformation() - " << copyNo
149 <<
" = " << copyNo1 <<
", X " << copyNo2 <<
G4endl
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
virtual void SetCopyNo(G4int CopyNo)=0
const G4String & GetName() const
void SetTranslation(const G4ThreeVector &v)
void SetRotation(G4RotationMatrix *)
G4tgbPlaceParamSquare(G4tgrPlaceParameterisation *)
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
void CheckNExtraData(G4tgrPlaceParameterisation *tgrParam, G4int nWcheck, WLSIZEtype st, const G4String &methodName)
G4RotationMatrix * theRotationMatrix
G4ThreeVector theTranslation
static G4int GetVerboseLevel()
std::vector< G4double > GetExtraData() const
const G4String & GetParamType() const