50 if(
G4int(wl.size()) != 4 + 5*nSolid)
52 G4String Err1 =
"Solid type MULTIUNION with ";
53 G4String Err2 = std::to_string(nSolid);
54 G4String Err3 =
" Solids, should have ";
55 G4String Err4 = std::to_string(4 + 5*nSolid);
59 G4String ErrMessage = Err1 + Err2 + Err3 + Err4 + Err5 + Err6;
62 G4Exception(
"G4tgrSolidMultiUnion::G4tgrSolidMultiUnion()",
"InvalidInput",
66 for (
G4int i = 4; i< nSolid*5; i+=5)
73 theSolids.push_back(sol1);
84 theTransformations.push_back(tr1);
89 for(
G4int ii = 0; ii < (
G4int)wl2.length(); ++ii)
91 wl2[ii] = (char)std::toupper(wl2[ii]);
113 os <<
"G4tgrSolidMultiUnion= " << sol.
theName <<
" of type " << sol.
theType
115 if(sol.theSolidParams.size() != 0)
117 std::vector<G4double> solpar = *(sol.theSolidParams[0]);
118 for(std::size_t ii = 0; ii < solpar.size(); ++ii)
120 os << solpar[ii] <<
" ";
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
std::ostream & operator<<(std::ostream &os, const G4tgrSolidMultiUnion &sol)
static G4String ConvertToString(G4bool boolVal)
static G4tgbRotationMatrixMgr * GetInstance()
G4RotationMatrix * FindOrBuildG4RotMatrix(const G4String &name)
static G4int GetVerboseLevel()
G4tgrSolidMultiUnion(const std::vector< G4String > &wl)
static G4String GetString(const G4String &str)
static void DumpVS(const std::vector< G4String > &wl, const char *msg)
static G4int GetInt(const G4String &str)
static G4double GetDouble(const G4String &str, G4double unitval=1.)
G4tgrVolume * FindVolume(const G4String &volname, G4bool exists=false)
G4tgrSolid * FindSolid(const G4String &name, G4bool exists=false)
void RegisterMe(G4tgrSolid *vol)
static G4tgrVolumeMgr * GetInstance()
G4tgrSolid * GetSolid() const