40{
41
42
43
44
49
50 if(
G4int(wl.size()) != 4 + 5*nSolid)
51 {
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);
58
59 G4String ErrMessage = Err1 + Err2 + Err3 + Err4 + Err5 + Err6;
60
62 G4Exception(
"G4tgrSolidMultiUnion::G4tgrSolidMultiUnion()",
"InvalidInput",
64 }
65
66 for (
G4int i = 4; i< nSolid*5; i+=5)
67 {
69 if(sol1 == nullptr)
70 {
72 }
73 theSolids.push_back(sol1);
74
75
77 theRotMat =
79 thePosition =
84 theTransformations.push_back(tr1);
85 }
86
87
89 for(
G4int ii = 0; ii < (
G4int)wl2.length(); ++ii)
90 {
91 wl2[ii] = (char)std::toupper(wl2[ii]);
92 }
94
95#ifdef G4VERBOSE
97 {
99 }
100#endif
101
103}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
static G4String ConvertToString(G4bool boolVal)
static G4tgbRotationMatrixMgr * GetInstance()
G4RotationMatrix * FindOrBuildG4RotMatrix(const G4String &name)
static G4int GetVerboseLevel()
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