48{
49
50
52 "G4tgrVolumeDivision::G4tgrVolumeDivision");
54 "G4tgrVolumeDivision::G4tgrVolumeDivision");
55
57
58
59
60
62
63
66
67
70 thePlaceDiv->
SetType(
"PlaceDivision");
72
73
75
76
78
79
81#ifdef G4VERBOSE
83 {
84 G4cout <<
" G4tgrVolumeDivision::G4tgrVolumeDivision() -"
85 <<
" Replica register parent - child " <<
G4endl;
86 }
87#endif
88
89
91 for(
G4int ii = 0; ii < (
G4int)wl0.length(); ++ii)
92 {
93 wl0[ii] = (char)std::toupper(wl0[ii]);
94 }
95
96 if(wl0 == ":DIV_NDIV")
97 {
100 if(wl.size() == 7)
101 {
103 }
104 }
105 else if(wl0 == ":DIV_WIDTH")
106 {
109 if(wl.size() == 7)
110 {
112 }
113 }
114 else if(wl0 == ":DIV_NDIV_WIDTH")
115 {
119 if(wl.size() == 8)
120 {
122 }
123 }
124 else
125 {
126 G4String ErrMessage =
"Division type not supported, sorry... " + wl[0];
127 G4Exception(
"G4tgrVolumeDivision::G4tgrVolumeDivision()",
"NotImplemented",
129 }
130
133 for(std::size_t ii = 0; ii < 3; ++ii)
134 {
136 }
137
138#ifdef G4VERBOSE
140 {
142 }
143#endif
144
146}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4GLOB_DLL std::ostream G4cout
static G4int GetVerboseLevel()
void SetDivType(G4DivType typ)
void SetParentName(const G4String &parentName)
void SetWidth(G4double width)
void SetOffset(G4double offset)
EAxis BuildAxis(const G4String &axisName)
void SetType(const G4String &typ)
void SetVolume(G4tgrVolume *vol)
static G4String GetString(const G4String &str)
static void CheckWLsize(const std::vector< G4String > &wl, unsigned int nWCheck, WLSIZEtype st, const G4String &methodName)
static G4int GetInt(const G4String &str)
static G4double GetDouble(const G4String &str, G4double unitval=1.)
G4tgrVolume * FindVolume(const G4String &volname, G4bool exists=false)
void RegisterParentChild(const G4String &parentName, const G4tgrPlace *pl)
static G4tgrVolumeMgr * GetInstance()