63 G4gsposp(name, num, moth, x, y, z, irot, only, pars, npar);
72 G4cerr <<
" G4ProcessDaughters: Ignored (vte has negative parameters)."
94 G4String text =
"G3NegVolPars still returns negative parameters!";
106 hasNegPars, deferred, okAxis);
108 G4String text =
"G3toG4MakeSolid still returns negative parameters!";
134 for (
G4int id=0;
id<nofDaughters;
id++) {
146 char index[5]; sprintf(index,
"%d",cloneNo);
158 dvteNmed, 0, hasNegPars);
170 for (
G4int ip=0; ip<nofPositions; ip++)
177 =
new G3Division(dvteClone, vteClone, *dvteDivision);
221 =
G3NegVolPars(clonePars, &cloneNpar, vteClone, mvteClone,
"GSPOS");
234 if (checkNpar != cloneNpar)
238 for (
G4int ip=0; ip<cloneNpar; ip++)
239 if (checkPars[ip] != clonePars[ip]) {
244 if (isSame) { vteSameClone = checkClone;
break; }
263 hasNegPars, deferred, okAxis);
267 if ( negpars || !(vteSameClone)) {
270 char index[5]; sprintf(index,
"%d",cloneNo);
306 G4String err_message1 =
"G4gsposp: '" + vname +
"' has no VolTableEntry";
311 G4String err_message2 =
"G4gsposp: '" + vmoth +
"' has no VolTableEntry";
G3VolTableEntry * GetClone(G4int i)
CLHEP::Hep3Vector G4ThreeVector
G4VSolid * G3toG4MakeSolid(const G4String &vname, const G4String &shape, const G4double *Rpar, const G4int npar, G4bool &NegVolPars, G4bool &Deferred, G4bool *OKAxis)
void SetSolid(G4VSolid *solid)
G3Pos * GetG3PosCopy(G4int copy=0)
G3VolTableEntry * GetDaughter(G4int i)
void PG4gsposp(G4String *tokens)
G3Division * GetDivision()
void AddMother(G3VolTableEntry *aDaughter)
void AddClone(G3VolTableEntry *aDaughter)
G3G4DLL_API G4int Ipar[1000]
void G4CloneDaughters(G3VolTableEntry *vte, G3VolTableEntry *vteClone)
void AddDaughter(G3VolTableEntry *aDaughter)
G4GLOB_DLL std::ostream G4cerr
void AddG3Pos(G3Pos *aG3Pos)
G3G4DLL_API G4double Rpar[1000]
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4bool G3NegVolPars(G4double pars[], G4int *nparpt, G3VolTableEntry *vte, G3VolTableEntry *mvte, const char routine[])
void G4ProcessDaughters(G3VolTableEntry *vte)
G3VolTableEntry * PutVTE(G3VolTableEntry *aVTE)
void G4CreateCloneVTE(G3VolTableEntry *vte, G3VolTableEntry *mvte, G4double pars[], G4int npar, G4int num, G4double x, G4double y, G4double z, G4int irot, G4String vonly)
void SetNRpar(G4int npar, G4double *Rpar)
void SetName(G4String name)
G3G4DLL_API G3VolTable G3Vol
static constexpr double cm
void G3fillParams(G4String *tokens, const char *ptypes)
void SetDivision(G3Division *division)
G3G4DLL_API char gSeparator
G3VolTableEntry * GetVTE(const G4String &Vname)
void G4gsposp(G4String name, G4int num, G4String moth, G4double x, G4double y, G4double z, G4int irot, G4String only, G4double Rpar[], G4int npar)
void SetHasNegPars(G4bool hasNegPars)
G4String & append(const G4String &)
G3G4DLL_API G4String Spar[1000]
G3VolTableEntry * GetMasterClone()