50 CheckNExtraData(tgrParam, 6, WLSIZE_EQ,
"G4tgbPlaceParamLinear:");
52 G4ThreeVector(tgrParam->GetExtraData()[3], tgrParam->GetExtraData()[4],
53 tgrParam->GetExtraData()[5]);
58 CheckNExtraData(tgrParam, 3, WLSIZE_EQ,
"G4tgbPlaceParamLinear:");
59 if(tgrParam->GetParamType() ==
"LINEAR_X")
61 theDirection = G4ThreeVector(1., 0., 0.);
66 theDirection = G4ThreeVector(0., 1., 0.);
71 theDirection = G4ThreeVector(0., 0., 1.);
76 if(theDirection.mag() == 0.)
78 G4Exception(
"G4tgbPlaceParamLinear::G4tgbPlaceParamLinear()",
79 "InvalidSetup", FatalException,
"Direction is zero !");
83 theDirection /= theDirection.mag();
86 theNCopies =
G4int(tgrParam->GetExtraData()[0]);
87 theStep = tgrParam->GetExtraData()[1];
88 theOffset = tgrParam->GetExtraData()[2];
90 theTranslation =
G4ThreeVector(0., 0., 0.) + theOffset * theDirection;
95 G4cout <<
" G4tgbPlaceParamLinear::G4tgbPlaceParamLinear(): "
96 <<
" param type " << tgrParam->GetParamType() <<
G4endl
97 <<
" N copies " << theNCopies <<
G4endl <<
" step " << theStep
98 <<
G4endl <<
" offset " << theOffset <<
G4endl <<
" translation "
99 << theTranslation <<
G4endl <<
" direction " << theDirection