Import Geant4 7.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 12:11:21 +02:00
parent 516dbf1a58
commit d93e1e39a9
5384 changed files with 125662 additions and 82444 deletions
+107
View File
@@ -0,0 +1,107 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4AttCheck.hh,v 1.5 2005/05/03 17:43:00 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
#ifndef G4ATTCHECK_HH
#define G4ATTCHECK_HH
// Class Description:
//
// @class G4AttCheck
//
// @brief Checks G4AttValue's and their corresponding G4AttDef map.
//
// Usage (a): G4AttCheck(values,definitions);
// or (b): G4cout << G4AttCheck(values,definitions) << G4endl;
//
// For further details, see the HepRep home page at http://heprep.freehep.org
//
// @author J.Allison
// @author J.Perl
// Class Description - End:
#include "globals.hh"
#include <set>
#include <vector>
#include <map>
#include <iostream>
class G4AttValue;
class G4AttDef;
class G4AttCheck {
public: // With description
G4AttCheck
(const std::vector<G4AttValue>* values,
const std::map<G4String,G4AttDef>* definitions);
~G4AttCheck();
const std::vector<G4AttValue>* GetAttValues() const {
return fpValues;
}
const std::map<G4String,G4AttDef>* GetAttDefs() const {
return fpDefinitions;
}
G4bool Check(const G4String& leader = "") const;
// Check only. Silent unless error - then G4cerr. Returns error.
// Provide leader, e.g., name of calling function.
G4bool Standard
(std::vector<G4AttValue>* standardValues,
std::map<G4String,G4AttDef>* standardDefinitions)
const;
// Places standard versions in provided containers and returns error.
friend std::ostream& operator<< (std::ostream&, const G4AttCheck&);
private:
void AddValuesAndDefs
(std::vector<G4AttValue>* newValues,
std::map<G4String,G4AttDef>* newDefinitions,
const G4String& oldName,
const G4String& name,
const G4String& value,
const G4String& extra,
const G4String& description = "") const; // Utility function for Standard.
const std::vector<G4AttValue>* fpValues;
const std::map<G4String,G4AttDef>* fpDefinitions;
static G4bool fFirst; // Flag for initialising the following containers.
static std::set<G4String> fUnitCategories; // Set of legal unit categories.
static std::map<G4String,G4String> fStandardUnits; // Standard units.
static std::set<G4String> fCategories; // Set of legal categories.
static std::set<G4String> fUnits; // Set of legal units.
static std::set<G4String> fValueTypes; // Set of legal value types.
};
#endif //G4ATTCHECK_HH
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4AttDef.hh,v 1.4 2004/11/11 16:39:53 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
#ifndef G4ATTDEF_HH
#define G4ATTDEF_HH
@@ -22,7 +22,7 @@
//
//
// $Id: G4AttDefStore.hh,v 1.6 2004/06/07 08:54:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
#ifndef G4ATTDEFSTORE_HH
#define G4ATTDEFSTORE_HH
+3 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4AttValue.hh,v 1.3 2002/10/24 14:35:20 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: G4AttValue.hh,v 1.4 2005/03/22 16:51:34 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
#ifndef G4ATTVALUE_HH
#define G4ATTVALUE_HH
@@ -74,4 +74,5 @@
/// The bitmap for the label display
G4String m_showLabel;
};
#endif //G4ATTVALUE_H
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Circle.hh,v 1.6 2001/07/11 10:01:01 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 17/11/96.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Color.hh,v 1.4 2001/07/11 10:01:01 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 20th October 1996
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Colour.hh,v 1.9 2003/09/18 11:03:11 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 20th October 1996
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4NURBS.hh,v 1.8 2003/06/16 16:55:07 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
// Olivier Crumeyrolle 12 September 1996
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4NURBSbox.hh,v 1.7 2003/04/03 15:31:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4NURBScylinder.hh,v 1.7 2003/04/03 15:31:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4NURBShexahedron.hh,v 1.7 2003/04/03 15:31:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
// Hexa hedron builder prototype
// OC 17 9 96
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4NURBStube.hh,v 1.7 2003/04/03 15:31:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4NURBStubesector.hh,v 1.6 2003/04/03 15:31:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4PlacedPolyhedron.hh,v 1.10 2003/06/16 16:55:08 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
// Class Description:
@@ -22,7 +22,7 @@
//
//
// $Id: G4Point3DList.hh,v 1.11 2003/06/16 16:55:09 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison July 1995
+13 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Polyhedron.hh,v 1.10 2001/07/11 10:01:02 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: G4Polyhedron.hh,v 1.12 2005/03/22 19:18:56 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
#ifndef G4POLYHEDRON_HH
#define G4POLYHEDRON_HH
@@ -93,6 +93,12 @@
// History:
// 21st February 2000 Evgeni Chernaev, John Allison
// - Re-written to inherit HepPolyhedron.
//
// 11.03.05 J.Allison
// - Added fNumberOfRotationStepsAtTimeOfCreation and access method.
// (NumberOfRotationSteps is also called number of sides per circle or
// line segments per circle - see
// /vis/viewer/set/lineSegmentsPerCircle.)
#include "globals.hh"
#include "HepPolyhedron.h"
@@ -114,6 +120,11 @@ public:
return HepPolyhedron::operator = (from);
}
G4Polyhedron& operator = (const G4Polyhedron& from);
G4int GetNumberOfRotationStepsAtTimeOfCreation() const {
return fNumberOfRotationStepsAtTimeOfCreation;
}
private:
G4int fNumberOfRotationStepsAtTimeOfCreation;
};
class G4PolyhedronBox: public G4Polyhedron {
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Polyline.hh,v 1.10 2003/06/16 16:55:10 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison July 1995
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Polymarker.hh,v 1.9 2004/11/11 16:41:14 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison November 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4Polymarker.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison November 1996
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Scale.hh,v 1.5 2002/11/27 12:24:01 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 21st July 2001.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Scale.icc,v 1.2 2001/07/24 21:41:42 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 21st July 2001.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Square.hh,v 1.5 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 17/11/96.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Square.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 17/11/96.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Text.hh,v 1.7 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 17/11/96.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Text.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 17/11/96.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4VMarker.hh,v 1.9 2003/06/16 16:55:12 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// G4VMarker - base class for markers - circles, squares, etc.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4VMarker.icc,v 1.6 2001/07/11 10:01:04 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4VVisPrim.hh,v 1.9 2003/06/16 16:55:13 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison August 1995
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisAttributes.hh,v 1.12 2004/07/28 15:44:27 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: G4VisAttributes.hh,v 1.14 2005/03/22 16:48:18 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 23rd October 1996
@@ -52,6 +52,7 @@
#include "globals.hh"
#include <vector>
#include <map>
#include "G4Colour.hh"
#include "G4Color.hh"
@@ -73,6 +74,8 @@ public: // With description
G4VisAttributes (const G4Colour& colour);
G4VisAttributes (G4bool visibility, const G4Colour& colour);
// Compiler defaults for copy constructor and assigment operator are OK.
static const G4VisAttributes Invisible;
static const G4VisAttributes& GetInvisible();
@@ -89,8 +92,8 @@ public: // With description
G4bool IsForceDrawingStyle () const;
ForcedDrawingStyle GetForcedDrawingStyle () const;
G4bool IsForceAuxEdgeVisible () const;
const std::vector<G4AttValue>* GetAttValues () const;
const std::vector<G4AttDef>* GetAttDefs () const;
const std::vector<G4AttValue>* GetAttValues() const;
const std::map<G4String,G4AttDef>* GetAttDefs () const;
void SetVisibility (G4bool);
void SetDaughtersInvisible (G4bool);
@@ -106,7 +109,7 @@ public: // With description
void SetForceSolid (G4bool);
void SetForceAuxEdgeVisible (G4bool);
void SetAttValues (const std::vector<G4AttValue>*);
void SetAttDefs (const std::vector<G4AttDef>*);
void SetAttDefs (const std::map<G4String,G4AttDef>*);
private:
@@ -119,8 +122,8 @@ private:
G4bool fForceDrawingStyle; // To switch on forced drawing style.
ForcedDrawingStyle fForcedStyle; // Value of forced drawing style.
G4bool fForceAuxEdgeVisible; // Force drawing of auxilary edges.
const std::vector<G4AttValue>* fAttValues; // For picking, etc.
const std::vector<G4AttDef>* fAttDefs; // Corresponding definitions.
const std::vector<G4AttValue>* fAttValues; // For picking, etc.
const std::map<G4String,G4AttDef>* fAttDefs; // Corresponding definitions.
};
#include "G4VisAttributes.icc"
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisAttributes.icc,v 1.7 2004/07/28 15:44:29 johna Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: G4VisAttributes.icc,v 1.8 2005/03/22 16:48:18 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 18th November 1996
@@ -63,7 +63,8 @@ G4VisAttributes::GetAttValues () const {
return fAttValues;
}
inline const std::vector<G4AttDef>* G4VisAttributes::GetAttDefs () const {
inline
const std::map<G4String,G4AttDef>* G4VisAttributes::GetAttDefs () const {
return fAttDefs;
}
@@ -119,6 +120,6 @@ inline void G4VisAttributes::SetAttValues
}
inline void G4VisAttributes::SetAttDefs
(const std::vector<G4AttDef>* attDefs) {
(const std::map<G4String,G4AttDef>* attDefs) {
fAttDefs = attDefs;
}
+3 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisExtent.hh,v 1.8 2004/12/07 08:42:24 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// $Id: G4VisExtent.hh,v 1.9 2005/02/19 22:00:11 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// A.Walkden 28/11/95
@@ -75,6 +75,7 @@ public: // With description
void SetZmin (G4double zmin);
void SetZmax (G4double zmax);
friend std::ostream& operator << (std::ostream& os, const G4VisExtent& e);
static const G4VisExtent NullExtent;
private:
G4double fXmin, fXmax, fYmin, fYmax, fZmin, fZmax;
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Visible.hh,v 1.8 2003/06/16 16:55:17 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 30th October 1996
+2 -6
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Visible.icc,v 1.4 2001/07/11 10:01:06 gunter Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// $Id: G4Visible.icc,v 1.5 2005/03/09 16:37:25 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// John Allison 30th October 1996
@@ -44,7 +44,3 @@ inline const G4VisAttributes* G4Visible::GetVisAttributes () const {
inline void G4Visible::SetVisAttributes (const G4VisAttributes* pVA) {
fpVisAttributes = pVA;
}
inline void G4Visible::SetVisAttributes (const G4VisAttributes& VA) {
fpVisAttributes = &VA;
}
+10 -5
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: HepPolyhedron.h,v 1.13 2004/12/08 17:26:26 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// $Id: HepPolyhedron.h,v 1.15 2005/03/22 16:42:52 allison Exp $
// GEANT4 tag $Name: geant4-07-01 $
//
//
// Class Description:
@@ -101,6 +101,8 @@
// 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
@@ -151,6 +153,9 @@
// 05.11.02 E.Chernyaev
// - added createTwistedTrap() and createPolyhedron();
//
// 06.03.05 J.Allison
// - added IsErrorBooleanProcess
//
#ifndef HEP_POLYHEDRON_HH
#define HEP_POLYHEDRON_HH
@@ -179,10 +184,8 @@ class G4Facet {
class HepPolyhedron {
friend std::ostream& operator<<(std::ostream&, const HepPolyhedron &ph);
private:
static int fNumberOfRotationSteps;
protected:
static int fNumberOfRotationSteps;
int nvert, nface;
HepPoint3D *pV;
G4Facet *pF;
@@ -298,6 +301,8 @@ 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;