Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Functions
G4ModelingParameters.hh File Reference
#include "globals.hh"
#include "G4VisExtent.hh"
#include "G4VisAttributes.hh"
#include "G4PhysicalVolumeModel.hh"
#include <vector>
#include <utility>
#include "G4ModelingParameters.icc"

Go to the source code of this file.

Data Structures

class  G4ModelingParameters
 
class  G4ModelingParameters::PVNameCopyNo
 
class  G4ModelingParameters::VisAttributesModifier
 

Functions

std::ostream & operator<< (std::ostream &os, const G4ModelingParameters &)
 
std::ostream & operator<< (std::ostream &os, const G4ModelingParameters::PVNameCopyNoPath &)
 
std::ostream & operator<< (std::ostream &os, const std::vector< G4ModelingParameters::VisAttributesModifier > &)
 

Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const G4ModelingParameters  
)

Definition at line 152 of file G4ModelingParameters.cc.

References python.hepunit::cm3, g(), G4ModelingParameters::hlhsr, G4ModelingParameters::hlr, G4ModelingParameters::hsr, and G4ModelingParameters::wf.

153 {
154  os << "Modeling parameters (warning ";
155  if (mp.fWarning) os << "true";
156  else os << "false";
157  os << "):";
158 
159  const G4VisAttributes* va = mp.fpDefaultVisAttributes;
160  os << "\n Default vis. attributes: ";
161  if (va) os << *va;
162  else os << "none";
163 
164  os << "\n Current requested drawing style: ";
165  switch (mp.fDrawingStyle) {
167  os << "wireframe"; break;
169  os << "hidden line removal (hlr)"; break;
171  os << "surface (hsr)"; break;
173  os << "surface and edges (hlhsr)"; break;
174  default: os << "unrecognised"; break;
175  }
176 
177  os << "\n Culling: ";
178  if (mp.fCulling) os << "on";
179  else os << "off";
180 
181  os << "\n Culling invisible objects: ";
182  if (mp.fCullInvisible) os << "on";
183  else os << "off";
184 
185  os << "\n Density culling: ";
186  if (mp.fDensityCulling) {
187  os << "on - invisible if density less than "
188  << mp.fVisibleDensity / (1. * g / cm3) << " g cm^-3";
189  }
190  else os << "off";
191 
192  os << "\n Culling daughters covered by opaque mothers: ";
193  if (mp.fCullCovered) os << "on";
194  else os << "off";
195 
196  os << "\n Explode factor: " << mp.fExplodeFactor
197  << " about centre: " << mp.fExplodeCentre;
198 
199  os << "\n No. of sides used in circle polygon approximation: "
200  << mp.fNoOfSides;
201 
202  os << "\n Section (DCUT) shape (G4VSolid) pointer: ";
203  if (!mp.fpSectionSolid) os << "non-";
204  os << "null";
205 
206  os << "\n Cutaway (DCUT) shape (G4VSolid) pointer: ";
207  if (!mp.fpCutawaySolid) os << "non-";
208  os << "null";
209 
210  os << "\n Event pointer: " << mp.fpEvent;
211 
212  os << "\n Vis attributes modifiers: ";
213  const std::vector<G4ModelingParameters::VisAttributesModifier>& vams =
214  mp.fVisAttributesModifiers;
215  if (vams.empty()) {
216  os << "None";
217  } else {
218  os << vams;
219  }
220 
221  return os;
222 }
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5205
std::ostream& operator<< ( std::ostream &  os,
const G4ModelingParameters::PVNameCopyNoPath  
)

Definition at line 312 of file G4ModelingParameters.cc.

313 {
314 // os << "Touchable path: physical-volume-name:copy-number pairs:\n ";
316  for (i = path.begin(); i != path.end(); ++i) {
317  if (i != path.begin()) {
318  os << ", ";
319  }
320  os << i->GetName() << ':' << i->GetCopyNo();
321  }
322  return os;
323 }
PVNameCopyNoPath::const_iterator PVNameCopyNoPathConstIterator
std::ostream& operator<< ( std::ostream &  os,
const std::vector< G4ModelingParameters::VisAttributesModifier > &   
)

Definition at line 326 of file G4ModelingParameters.cc.

References test::c, 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.

328 {
329  std::vector<G4ModelingParameters::VisAttributesModifier>::const_iterator
330  iModifier;
331  for (iModifier = vams.begin();
332  iModifier != vams.end();
333  ++iModifier) {
335  iModifier->GetPVNameCopyNoPath();
336  os << '\n' << vamPath;
337  const G4VisAttributes& vamVisAtts = iModifier->GetVisAttributes();
338  const G4Colour& c = vamVisAtts.GetColour();
339  switch (iModifier->GetVisAttributesSignifier()) {
341  os << " visibility ";
342  if (vamVisAtts.IsVisible()) {
343  os << "true";
344  } else {
345  os << "false";
346  }
347  break;
349  os << " daughtersInvisible ";
350  if (vamVisAtts.IsDaughtersInvisible()) {
351  os << "true";
352  } else {
353  os << "false";
354  }
355  break;
357  os << " colour " << c;
358  break;
360  os << " lineStyle ";
361  switch (vamVisAtts.GetLineStyle()) {
363  os << "unbroken";
364  break;
366  os << "dashed";
367  break;
369  os << "dotted";
370  }
371  break;
373  os << " lineWidth "
374  << vamVisAtts.GetLineWidth();
375  break;
378  os << " forceWireframe ";
379  if (vamVisAtts.IsForceDrawingStyle()) {
380  os << "true";
381  } else {
382  os << "false";
383  }
384  }
385  break;
387  if (vamVisAtts.GetForcedDrawingStyle() == G4VisAttributes::solid) {
388  os << " forceSolid ";
389  if (vamVisAtts.IsForceDrawingStyle()) {
390  os << "true";
391  } else {
392  os << "false";
393  }
394  }
395  break;
397  os << " forceAuxEdgeVisible ";
398  if (vamVisAtts.IsForceAuxEdgeVisible()) {
399  os << "true";
400  } else {
401  os << "false";
402  }
403  break;
405  os << " lineSegmentsPerCircle "
406  << vamVisAtts.GetForcedLineSegmentsPerCircle();
407  break;
408  }
409  }
410 
411  return os;
412 }
G4bool IsForceAuxEdgeVisible() const
G4double GetLineWidth() const
G4bool IsVisible() const
const G4Colour & GetColour() const
LineStyle GetLineStyle() const
G4bool IsDaughtersInvisible() const
G4int GetForcedLineSegmentsPerCircle() const
std::vector< PVNameCopyNo > PVNameCopyNoPath
G4bool IsForceDrawingStyle() const
ForcedDrawingStyle GetForcedDrawingStyle() const