Import Geant4 10.6.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2019-06-28 11:59:04 +02:00
parent 28a70706e0
commit d0f911957d
1056 changed files with 95168 additions and 78160 deletions
@@ -228,32 +228,12 @@ public: // With description
#endif
G4bool GetDrawOverlapsFlag() const {return fDrawOverlapsFlag;}
// This is intended to be inspected by methods capable of drawing
// overlaps. See for example, CheckOverlaps in G4PVPlacement and
// G4PVParameterised.
void SetDrawOverlapsFlag(G4bool draw) {fDrawOverlapsFlag = draw;}
// This is for use by specialist models that request drawing of overlaps.
// It must be unset after use (by calling with a false argument). See,
// for example, G4LogicalVolumeModel.
// This must not be set by the user because the coordinate system is only
// valid under certain conditions. It must be unset so that overlaps are
// not drawn when, for example, CheckOverlaps is called during detector
// construction or when the user requests overlap checking with
// /geometry/test/run. (It is only in special cases that the viewer is ready
// to have the overlaps drawn in the logical volume's coordinate system
// and this must be decided by the vis system.)
protected:
static void SetConcreteInstance (G4VVisManager*);
static G4VVisManager* fpConcreteInstance; // Pointer to real G4VisManager.
private:
G4bool fDrawOverlapsFlag;
};
#endif
@@ -42,8 +42,9 @@
// category. The followings are commonly-used attributes:
// - visibility
// - visibility of daughters
// - force wireframe style, force solid style
// - force auxiliary edge visibility, force line segments pe circle
// - force style
// - force auxiliary edge visibility
// - force line segments per circle
// - colour
// Class Description - End:
@@ -72,7 +73,7 @@ class G4VisAttributes {
public: // With description
enum LineStyle {unbroken, dashed, dotted};
enum ForcedDrawingStyle {wireframe, solid};
enum ForcedDrawingStyle {wireframe, solid, cloud};
G4VisAttributes ();
G4VisAttributes (G4bool visibility);
@@ -108,6 +109,8 @@ public: // With description
void SetLineWidth (G4double);
void SetForceWireframe (G4bool = true);
void SetForceSolid (G4bool = true);
void SetForceCloud (G4bool = true);
void SetForceNumberOfCloudPoints (G4int nPoints);
void SetForceAuxEdgeVisible (G4bool = true);
void SetForceLineSegmentsPerCircle (G4int nSegments);
// Allows choice of circle approximation. A circle of 360 degrees
@@ -127,6 +130,7 @@ public: // With description
G4double GetLineWidth () const;
G4bool IsForceDrawingStyle () const;
ForcedDrawingStyle GetForcedDrawingStyle () const;
G4int GetForcedNumberOfCloudPoints () const;
G4bool IsForceAuxEdgeVisible () const;
G4bool IsForcedAuxEdgeVisible () const;
G4bool IsForceLineSegmentsPerCircle () const;
@@ -155,6 +159,8 @@ private:
// pixels for screen, 0.1 mm for paper.
G4bool fForceDrawingStyle; // To switch on forced drawing style.
ForcedDrawingStyle fForcedStyle; // Value of forced drawing style.
G4int fForcedNumberOfCloudPoints; // Number of points used for cloud style.
// <=0 means take viewer default
G4bool fForceAuxEdgeVisible; // To switch on a forced auxiliary edge mode.
G4bool fForcedAuxEdgeVisible; // Whether aux edges are visible or not.
G4int fForcedLineSegmentsPerCircle; // Forced lines segments per
@@ -100,6 +100,10 @@ inline G4bool G4VisAttributes::IsForceDrawingStyle () const {
return fForceDrawingStyle;
}
inline G4int G4VisAttributes::GetForcedNumberOfCloudPoints () const {
return fForcedNumberOfCloudPoints;
}
inline G4bool G4VisAttributes::IsForceAuxEdgeVisible () const {
return fForceAuxEdgeVisible;
}
@@ -49,6 +49,7 @@
#include "globals.hh"
#include "G4Point3D.hh"
#include "G4Transform3D.hh"
class G4VisExtent
{
@@ -62,6 +63,15 @@ public: // With description
static const G4VisExtent& GetNullExtent ();
G4bool operator != (const G4VisExtent& e) const;
G4bool operator == (const G4VisExtent& e) const {return !operator!=(e);}
G4VisExtent& Transform (const G4Transform3D&);
// The above transforms the box defined by the 6 limits fXmin, fXmax,
// etc., and produces a new box that encloses the transformed box. If the
// transform includes a rotation the new box will likely be a good deal larger
// than the old one, but hey-ho, the concept of G4VisExtent requires the
// limits to be along the major axes and thus defines a box whose edges are
// parallel to the major axes. So use the above with care.
G4double GetXmin () const;
G4double GetXmax () const;
G4double GetYmin () const;