Import Geant4 9.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:15:05 +02:00
parent b79225fb37
commit 74cad5e589
3877 changed files with 234205 additions and 167127 deletions
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VGraphicsScene.hh,v 1.11 2008/01/04 22:20:59 allison Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VGraphicsScene.hh,v 1.12 2009/10/21 15:36:22 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// John Allison 19th July 1996
//
// Class Description:
@@ -37,6 +37,9 @@
#ifndef G4VGRAPHICSSCENE_HH
#define G4VGRAPHICSSCENE_HH
#include "globals.hh"
#include "G4Transform3D.hh"
class G4VisAttributes;
class G4VSolid;
class G4Box;
@@ -53,6 +56,7 @@ class G4Polycone;
class G4Polyhedra;
class G4VTrajectory;
class G4VHit;
template <typename T> class G4THitsMap;
class G4Polyline;
class G4Scale;
class G4Text;
@@ -62,8 +66,6 @@ class G4Polymarker;
class G4Polyhedron;
class G4NURBS;
#include "G4Transform3D.hh"
class G4VGraphicsScene {
public: // With description
@@ -111,8 +113,9 @@ public: // With description
// use graphics-system-specific code or (d) any combination of the
// above.
virtual void AddCompound (const G4VTrajectory&) = 0;
virtual void AddCompound (const G4VHit&) = 0;
virtual void AddCompound (const G4VTrajectory&) = 0;
virtual void AddCompound (const G4VHit&) = 0;
virtual void AddCompound (const G4THitsMap<G4double>&) = 0;
///////////////////////////////////////////////////////////////////
// Methods for adding graphics primitives to the scene handler. A
+7 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VMarker.hh,v 1.12 2006/06/29 19:06:14 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VMarker.hh,v 1.13 2009/02/24 10:58:04 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
//
//
// G4VMarker - base class for markers - circles, squares, etc.
@@ -96,6 +96,7 @@ class G4VMarker: public G4Visible {
public: // With description
enum FillStyle {noFill, hashed, filled};
enum SizeType {none, world, screen};
//////////////////////////////////////////////////////
// Constructors...
@@ -113,6 +114,7 @@ public: // With description
/////////////////////////////////////////////////////
// Get functions...
G4Point3D GetPosition () const;
SizeType GetSizeType () const;
G4double GetWorldSize () const;
G4double GetWorldDiameter () const;
G4double GetWorldRadius () const;
@@ -124,6 +126,9 @@ public: // With description
/////////////////////////////////////////////////////
// Set functions...
void SetPosition (const G4Point3D&);
void SetSize (SizeType, G4double);
void SetDiameter (SizeType, G4double);
void SetRadius (SizeType, G4double);
void SetWorldSize (G4double);
void SetWorldDiameter (G4double);
void SetWorldRadius (G4double);
+12 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VMarker.icc,v 1.7 2006/06/29 19:06:16 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VMarker.icc,v 1.8 2009/02/24 10:58:04 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
//
//
@@ -65,6 +65,14 @@ inline void G4VMarker::SetPosition (const G4Point3D& pos) {
fPosition = pos;
}
inline void G4VMarker::SetDiameter (SizeType sizeType, G4double size) {
SetSize(sizeType, size);
}
inline void G4VMarker::SetRadius (SizeType sizeType, G4double size) {
SetSize(sizeType, 2. * size);
}
inline void G4VMarker::SetWorldSize (G4double ws) {
fWorldSize = ws;
}
@@ -96,4 +104,6 @@ inline void G4VMarker::SetFillStyle (G4VMarker::FillStyle style) {
fFillStyle = style;
}
inline const G4String& G4VMarker::GetInfo() const {return fInfo;}
inline void G4VMarker::SetInfo(const G4String& info) {fInfo = info;}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VVisManager.hh,v 1.14 2008/01/04 22:20:59 allison Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VVisManager.hh,v 1.15 2009/02/25 14:13:43 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// John Allison 19/Oct/1996.
//
// Class Description:
@@ -188,6 +188,11 @@ public: // With description
virtual void GeometryHasChanged () = 0;
// This is used by the run manager to notify a change of geometry.
virtual void NotifyHandlers () {}
// Notify scene handlers (G4VGraphicsScene objects) that the scene
// has changed so that they may rebuild their graphics database, if
// any, and redraw all views.
virtual void DispatchToModel(const G4VTrajectory&, G4int i_mode = 0) = 0;
// Draw the trajectory.
+5 -6
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: HepPolyhedron.h,v 1.24 2008/04/14 08:50:23 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: HepPolyhedron.h,v 1.25 2009/10/28 13:38:54 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
//
//
// Class Description:
@@ -106,8 +106,6 @@
// SetNumberOfRotationSteps (n) - set number of steps for whole circle;
// ResetNumberOfRotationSteps() - reset number of steps for whole circle
// to default value;
// IsErrorBooleanProcess()- true if there has been an error during the
// processing of a Boolean operation.
// History:
//
// 20.06.96 Evgeni Chernyaev <Evgueni.Tcherniaev@cern.ch> - initial version
@@ -164,6 +162,9 @@
// 20.06.05 G.Cosmo
// - added HepPolyhedronEllipsoid
//
// 21.10.09 J.Allison
// - removed IsErrorBooleanProcess (now error is returned through argument)
//
#ifndef HEP_POLYHEDRON_HH
#define HEP_POLYHEDRON_HH
@@ -312,8 +313,6 @@ class HepPolyhedron {
HepPolyhedron add(const HepPolyhedron &p) const;
HepPolyhedron subtract(const HepPolyhedron &p) const;
HepPolyhedron intersect(const HepPolyhedron &p) const;
// If there has been an error during the above processing..
bool IsErrorBooleanProcess() const;
// Get area of the surface of the polyhedron
double GetSurfaceArea() const;
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
#ifndef HEP_POLYHEDRONPROCESSOR_HH
#define HEP_POLYHEDRONPROCESSOR_HH
#include <HepPolyhedron.h>
#include <vector>
class HepPolyhedronProcessor {
public:
enum Operation { //Must be the same than BooleanProcessor OP_XXX.
UNION = 0
,INTERSECTION = 1
,SUBTRACTION = 2
};
private:
typedef std::pair<Operation,HepPolyhedron> op_t;
public:
HepPolyhedronProcessor();
virtual ~HepPolyhedronProcessor();
private:
HepPolyhedronProcessor(const HepPolyhedronProcessor&);
HepPolyhedronProcessor& operator=(const HepPolyhedronProcessor&);
public:
void push_back(Operation,const HepPolyhedron&);
bool execute(HepPolyhedron&);
void clear();
bool is_same_op() const;
//private:
bool execute1(HepPolyhedron&,const std::vector<unsigned int>&);
private:
std::vector<op_t> m_ops;
};
#endif /* HEP_POLYHEDRONPROCESSOR_HH */