46 : fWorldName(wName),fCurrentPS(nullptr),fConstructed(
false),fActive(
true),
49 verboseLevel(0),sizeIsSet(
false),nMeshIsSet(
false),
50 fDrawUnit(
""), fDrawUnitValue(1.), fMeshElementLogical(nullptr),
51 fParallelWorldProcess(nullptr), fGeometryHasBeenDestroyed(
false),
76 for(
int i = 0; i < 3; i++)
fSize[i] = size[i];
96 for(
int i = 0; i < 3; i++)
fNSegment[i] = nSegment[i];
100 G4Exception(
"G4VScoringMesh::SetNumberOfSegments()",
106 for(
int i = 0; i < 3; i++) nSegment[i] =
fNSegment[i];
127 G4cerr <<
"ERROR : G4VScoringMesh::SetPrimitiveScorer() : "
129 <<
" does not yet have mesh size or number of bins. Set them first." <<
G4endl
130 <<
"This Method is ignored." <<
G4endl;
134 << prs->
GetName() <<
" is registered."
150 G4cerr <<
"ERROR : G4VScoringMesh::SetSDFilter() : a quantity must be defined first. This method is ignored." <<
G4endl;
161 G4cout <<
"WARNING : G4VScoringMesh::SetFilter() : " << oldFilter->
GetName()
170 G4cerr <<
"ERROR : G4VScoringMesh::SetCurrentPrimitiveScorer() : The primitive scorer <"
171 << name <<
"> does not found." <<
G4endl;
176 MeshScoreMap::iterator itr =
fMap.find(psname);
177 if(itr ==
fMap.end())
return false;
182 MeshScoreMap::iterator itr =
fMap.find(psname);
183 if(itr ==
fMap.end()) {
193 G4String msg =
"ERROR : G4VScoringMesh::GetCurrentPSUnit() : ";
194 msg +=
" Current primitive scorer is null.";
204 G4String msg =
"ERROR : G4VScoringMesh::GetCurrentPSUnit() : ";
205 msg +=
" Current primitive scorer is null.";
213 MeshScoreMap::iterator itr =
fMap.find(psname);
214 if(itr ==
fMap.end()) {
226 if(!
fMFD)
return nullptr;
229 for(
G4int i = 0; i < nps; i++) {
231 if(name == prs->
GetName())
return prs;
238 G4cout <<
" # of segments: ("
243 G4cout <<
" displacement: ("
249 G4cout <<
" rotation matrix: "
267 for(
int i = 0; i < nps; i++) {
281 mp.second->PrintAllHits();
291 MeshScoreMap::const_iterator fMapItr =
fMap.find(psName);
292 if(fMapItr!=
fMap.end()) {
295 Draw(fMapItr->second, colorMap,axflg);
297 G4cerr <<
"Scorer <" << psName <<
"> is not defined. Method ignored." <<
G4endl;
304 MeshScoreMap::const_iterator fMapItr =
fMap.find(psName);
305 if(fMapItr!=
fMap.end()) {
308 DrawColumn(fMapItr->second,colorMap,idxPlane,iColumn);
310 G4cerr <<
"Scorer <" << psName <<
"> is not defined. Method ignored." <<
G4endl;
317 MeshScoreMap::const_iterator fMapItr =
fMap.find(psName);
318 *(fMapItr->second) += *map;
324 if(fMapItr ==
fMap.end()) {
337 MeshScoreMap::const_iterator fMapItr =
fMap.find(psName);
338 *(fMapItr->second) += *map;
344 if(fMapItr ==
fMap.end()) {
394 MeshScoreMap::const_iterator fMapItr =
fMap.begin();
395 MeshScoreMap::const_iterator mapItr = scMap.begin();
396 for(; fMapItr !=
fMap.end(); fMapItr++) {
398 *(fMapItr->second) += *(mapItr->second);