G4ModelingParameters.cc File Reference

#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)


Function Documentation

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 }


Generated on Mon May 27 17:50:51 2013 for Geant4 by  doxygen 1.4.7