#include "G4ModelingParameters.hh"
#include "G4ios.hh"
#include "G4VisAttributes.hh"
#include "G4ExceptionSeverity.hh"
#include "G4SystemOfUnits.hh"
#include "G4VSolid.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PhysicalVolumeModel.hh"
Go to the source code of this file.
Functions | |
std::ostream & | operator<< (std::ostream &os, const G4ModelingParameters &mp) |
std::ostream & | operator<< (std::ostream &os, const G4ModelingParameters::PVNameCopyNoPath &path) |
std::ostream & | operator<< (std::ostream &os, const std::vector< G4ModelingParameters::VisAttributesModifier > &vams) |
std::ostream& operator<< | ( | std::ostream & | os, | |
const std::vector< G4ModelingParameters::VisAttributesModifier > & | vams | |||
) |
Definition at line 349 of file G4ModelingParameters.cc.
References G4VisAttributes::dashed, G4VisAttributes::dotted, G4VisAttributes::GetColour(), G4VisAttributes::GetForcedDrawingStyle(), G4VisAttributes::GetForcedLineSegmentsPerCircle(), G4VisAttributes::GetLineStyle(), G4VisAttributes::GetLineWidth(), G4VisAttributes::IsDaughtersInvisible(), G4VisAttributes::IsForceAuxEdgeVisible(), G4VisAttributes::IsForceDrawingStyle(), G4VisAttributes::IsVisible(), G4VisAttributes::solid, G4VisAttributes::unbroken, G4ModelingParameters::VASColour, G4ModelingParameters::VASDaughtersInvisible, G4ModelingParameters::VASForceAuxEdgeVisible, G4ModelingParameters::VASForceLineSegmentsPerCircle, G4ModelingParameters::VASForceSolid, G4ModelingParameters::VASForceWireframe, G4ModelingParameters::VASLineStyle, G4ModelingParameters::VASLineWidth, G4ModelingParameters::VASVisibility, and G4VisAttributes::wireframe.
00351 { 00352 std::vector<G4ModelingParameters::VisAttributesModifier>::const_iterator 00353 iModifier; 00354 for (iModifier = vams.begin(); 00355 iModifier != vams.end(); 00356 ++iModifier) { 00357 const G4ModelingParameters::PVNameCopyNoPath& vamPath = 00358 iModifier->GetPVNameCopyNoPath(); 00359 os << '\n' << vamPath; 00360 const G4VisAttributes& vamVisAtts = iModifier->GetVisAttributes(); 00361 const G4Colour& c = vamVisAtts.GetColour(); 00362 switch (iModifier->GetVisAttributesSignifier()) { 00363 case G4ModelingParameters::VASVisibility: 00364 os << " visibility "; 00365 if (vamVisAtts.IsVisible()) { 00366 os << "true"; 00367 } else { 00368 os << "false"; 00369 } 00370 break; 00371 case G4ModelingParameters::VASDaughtersInvisible: 00372 os << " daughtersInvisible "; 00373 if (vamVisAtts.IsDaughtersInvisible()) { 00374 os << "true"; 00375 } else { 00376 os << "false"; 00377 } 00378 break; 00379 case G4ModelingParameters::VASColour: 00380 os << " colour " << c; 00381 break; 00382 case G4ModelingParameters::VASLineStyle: 00383 os << " lineStyle "; 00384 switch (vamVisAtts.GetLineStyle()) { 00385 case G4VisAttributes::unbroken: 00386 os << "unbroken"; 00387 break; 00388 case G4VisAttributes::dashed: 00389 os << "dashed"; 00390 break; 00391 case G4VisAttributes::dotted: 00392 os << "dotted"; 00393 } 00394 break; 00395 case G4ModelingParameters::VASLineWidth: 00396 os << " lineWidth " 00397 << vamVisAtts.GetLineWidth(); 00398 break; 00399 case G4ModelingParameters::VASForceWireframe: 00400 if (vamVisAtts.GetForcedDrawingStyle() == G4VisAttributes::wireframe) { 00401 os << " forceWireframe "; 00402 if (vamVisAtts.IsForceDrawingStyle()) { 00403 os << "true"; 00404 } else { 00405 os << "false"; 00406 } 00407 } 00408 break; 00409 case G4ModelingParameters::VASForceSolid: 00410 if (vamVisAtts.GetForcedDrawingStyle() == G4VisAttributes::solid) { 00411 os << " forceSolid "; 00412 if (vamVisAtts.IsForceDrawingStyle()) { 00413 os << "true"; 00414 } else { 00415 os << "false"; 00416 } 00417 } 00418 break; 00419 case G4ModelingParameters::VASForceAuxEdgeVisible: 00420 os << " forceAuxEdgeVisible "; 00421 if (vamVisAtts.IsForceAuxEdgeVisible()) { 00422 os << "true"; 00423 } else { 00424 os << "false"; 00425 } 00426 break; 00427 case G4ModelingParameters::VASForceLineSegmentsPerCircle: 00428 os << " lineSegmentsPerCircle " 00429 << vamVisAtts.GetForcedLineSegmentsPerCircle(); 00430 break; 00431 } 00432 } 00433 00434 return os; 00435 }
std::ostream& operator<< | ( | std::ostream & | os, | |
const G4ModelingParameters::PVNameCopyNoPath & | path | |||
) |
Definition at line 335 of file G4ModelingParameters.cc.
00336 { 00337 // os << "Touchable path: physical-volume-name:copy-number pairs:\n "; 00338 G4ModelingParameters::PVNameCopyNoPathConstIterator i; 00339 for (i = path.begin(); i != path.end(); ++i) { 00340 if (i != path.begin()) { 00341 os << ", "; 00342 } 00343 os << i->GetName() << ':' << i->GetCopyNo(); 00344 } 00345 return os; 00346 }
std::ostream& operator<< | ( | std::ostream & | os, | |
const G4ModelingParameters & | mp | |||
) |
Definition at line 152 of file G4ModelingParameters.cc.
References G4ModelingParameters::fCullCovered, G4ModelingParameters::fCulling, G4ModelingParameters::fCullInvisible, G4ModelingParameters::fDensityCulling, G4ModelingParameters::fDrawingStyle, G4ModelingParameters::fExplodeCentre, G4ModelingParameters::fExplodeFactor, G4ModelingParameters::fNoOfSides, G4ModelingParameters::fpCutawaySolid, G4ModelingParameters::fpDefaultVisAttributes, G4ModelingParameters::fpEvent, G4ModelingParameters::fpSectionSolid, G4ModelingParameters::fVisAttributesModifiers, G4ModelingParameters::fVisibleDensity, G4ModelingParameters::fWarning, G4ModelingParameters::hlhsr, G4ModelingParameters::hlr, G4ModelingParameters::hsr, and G4ModelingParameters::wf.
00153 { 00154 os << "Modeling parameters (warning "; 00155 if (mp.fWarning) os << "true"; 00156 else os << "false"; 00157 os << "):"; 00158 00159 const G4VisAttributes* va = mp.fpDefaultVisAttributes; 00160 os << "\n Default vis. attributes: "; 00161 if (va) os << *va; 00162 else os << "none"; 00163 00164 os << "\n Current requested drawing style: "; 00165 switch (mp.fDrawingStyle) { 00166 case G4ModelingParameters::wf: 00167 os << "wireframe"; break; 00168 case G4ModelingParameters::hlr: 00169 os << "hidden line removal (hlr)"; break; 00170 case G4ModelingParameters::hsr: 00171 os << "surface (hsr)"; break; 00172 case G4ModelingParameters::hlhsr: 00173 os << "surface and edges (hlhsr)"; break; 00174 default: os << "unrecognised"; break; 00175 } 00176 00177 os << "\n Culling: "; 00178 if (mp.fCulling) os << "on"; 00179 else os << "off"; 00180 00181 os << "\n Culling invisible objects: "; 00182 if (mp.fCullInvisible) os << "on"; 00183 else os << "off"; 00184 00185 os << "\n Density culling: "; 00186 if (mp.fDensityCulling) { 00187 os << "on - invisible if density less than " 00188 << mp.fVisibleDensity / (1. * g / cm3) << " g cm^-3"; 00189 } 00190 else os << "off"; 00191 00192 os << "\n Culling daughters covered by opaque mothers: "; 00193 if (mp.fCullCovered) os << "on"; 00194 else os << "off"; 00195 00196 os << "\n Explode factor: " << mp.fExplodeFactor 00197 << " about centre: " << mp.fExplodeCentre; 00198 00199 os << "\n No. of sides used in circle polygon approximation: " 00200 << mp.fNoOfSides; 00201 00202 os << "\n Section (DCUT) shape (G4VSolid) pointer: "; 00203 if (!mp.fpSectionSolid) os << "non-"; 00204 os << "null"; 00205 00206 os << "\n Cutaway (DCUT) shape (G4VSolid) pointer: "; 00207 if (!mp.fpCutawaySolid) os << "non-"; 00208 os << "null"; 00209 00210 os << "\n Event pointer: " << mp.fpEvent; 00211 00212 os << "\n Vis attributes modifiers: "; 00213 const std::vector<G4ModelingParameters::VisAttributesModifier>& vams = 00214 mp.fVisAttributesModifiers; 00215 if (vams.empty()) { 00216 os << "None"; 00217 } else { 00218 os << vams; 00219 } 00220 00221 return os; 00222 }