Import Geant4 9.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:25:56 +02:00
parent 74cad5e589
commit 89a9605df1
4440 changed files with 379508 additions and 189225 deletions
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4BoundingSphereScene.hh,v 1.19 2009/10/21 14:17:33 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4BoundingSphereScene.hh,v 1.20 2010/05/30 11:23:25 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// John Allison 7th June 1997
@@ -70,6 +70,7 @@ public:
void AddSolid (const G4VSolid& s) {Accrue (s);}
void AddCompound (const G4VTrajectory&) {}
void AddCompound (const G4VHit&) {}
void AddCompound (const G4VDigi&) {}
void AddCompound (const G4THitsMap<G4double>&) {}
G4VisExtent GetBoundingSphereExtent ();
const G4Point3D& GetCentre() const {return fCentre;}
@@ -0,0 +1,59 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
/// $Id: G4DigiFilterFactories.hh,v 1.1 2010/05/30 11:24:30 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// Digi filter model factories creating filters
// and associated messengers.
//
// Jane Tinslay March 2006
//
#ifndef G4DIGIFILTERFACTORIES_HH
#define G4DIGIFILTERFACTORIES_HH
#include "G4VFilter.hh"
#include "G4VModelFactory.hh"
#include "G4VDigi.hh"
// Attribute filter
class G4DigiAttributeFilterFactory : public G4VModelFactory< G4VFilter<G4VDigi> > {
public: // With description
typedef std::vector<G4UImessenger*> Messengers;
typedef std::pair< G4VFilter<G4VDigi> *, Messengers > ModelAndMessengers;
G4DigiAttributeFilterFactory();
virtual ~G4DigiAttributeFilterFactory();
ModelAndMessengers Create(const G4String& placement, const G4String& name);
};
#endif
@@ -0,0 +1,67 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
// $Id: G4DigiModel.hh,v 1.1 2010/05/30 11:24:30 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// John Allison 26th August 1998.
//
// Class Description:
//
// Model which knows how to draw GEANT4 digis (digitisations).
//
// For access to base class information, e.g., modeling parameters,
// use GetModelingParameters() inherited from G4VModel. See Class
// Description of the base class G4VModel.
#ifndef G4DIGIMODEL_HH
#define G4DIGIMODEL_HH
#include "G4VModel.hh"
class G4VDigi;
class G4DigiModel: public G4VModel {
public: // With description
G4DigiModel ();
virtual ~G4DigiModel ();
virtual void DescribeYourselfTo (G4VGraphicsScene&);
// The main task of a model is to describe itself to the graphics scene.
const G4VDigi* GetCurrentDigi() const
{return fpCurrentDigi;}
private:
const G4VDigi* fpCurrentDigi;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ModelingParameters.hh,v 1.17 2006/11/14 14:42:08 allison Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ModelingParameters.hh,v 1.18 2010/05/11 11:13:35 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// John Allison 31st December 1997.
@@ -43,7 +43,7 @@
class G4LogicalVolume;
class G4VPhysicalVolume;
class G4VisAttributes;
class G4Polyhedron;
class G4VSolid;
class G4Event;
class G4ModelingParameters {
@@ -91,8 +91,8 @@ public: // With description
G4double GetExplodeFactor () const;
const G4Point3D& GetExplodeCentre () const;
G4int GetNoOfSides () const;
const G4Polyhedron* GetSectionPolyhedron () const;
const G4Polyhedron* GetCutawayPolyhedron () const;
G4VSolid* GetSectionSolid () const;
G4VSolid* GetCutawaySolid () const;
const G4Event* GetEvent () const;
// Set functions...
@@ -107,8 +107,8 @@ public: // With description
void SetExplodeFactor (G4double explodeFactor);
void SetExplodeCentre (const G4Point3D& explodeCentre);
G4int SetNoOfSides (G4int); // Returns actual number set.
void SetSectionPolyhedron (const G4Polyhedron* pSectionPolyhedron);
void SetCutawayPolyhedron (const G4Polyhedron* pCutawayPolyhedron);
void SetSectionSolid (G4VSolid* pSectionSolid);
void SetCutawaySolid (G4VSolid* pCutawaySolid);
void SetEvent (const G4Event* pEvent);
private:
@@ -125,8 +125,8 @@ private:
G4double fExplodeFactor; // Explode along radius by this factor...
G4Point3D fExplodeCentre; // ...about this centre.
G4int fNoOfSides; // ...if polygon approximates circle.
const G4Polyhedron* fpSectionPolyhedron; // For generic section (DCUT).
const G4Polyhedron* fpCutawayPolyhedron; // For generic cutaways.
G4VSolid* fpSectionSolid; // For generic section (DCUT).
G4VSolid* fpCutawaySolid; // For generic cutaways.
const G4Event* fpEvent; // Event being processed.
};
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ModelingParameters.icc,v 1.11 2006/11/14 14:42:08 allison Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ModelingParameters.icc,v 1.12 2010/05/11 11:13:35 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// John Allison 31st December 1997.
@@ -81,11 +81,11 @@ inline G4int G4ModelingParameters::GetNoOfSides () const {
return fNoOfSides;
}
inline const G4Polyhedron* G4ModelingParameters::GetSectionPolyhedron () const
{return fpSectionPolyhedron;}
inline G4VSolid* G4ModelingParameters::GetSectionSolid () const
{return fpSectionSolid;}
inline const G4Polyhedron* G4ModelingParameters::GetCutawayPolyhedron () const
{return fpCutawayPolyhedron;}
inline G4VSolid* G4ModelingParameters::GetCutawaySolid () const
{return fpCutawaySolid;}
inline const G4Event* G4ModelingParameters::GetEvent () const
{return fpEvent;}
@@ -130,16 +130,6 @@ inline void G4ModelingParameters::SetExplodeCentre
fExplodeCentre = explodeCentre;
}
inline void G4ModelingParameters::SetSectionPolyhedron
(const G4Polyhedron* pSectionPolyhedron) {
fpSectionPolyhedron = pSectionPolyhedron;
}
inline void G4ModelingParameters::SetCutawayPolyhedron
(const G4Polyhedron* pCutawayPolyhedron) {
fpCutawayPolyhedron = pCutawayPolyhedron;
}
inline void G4ModelingParameters::SetEvent(const G4Event* pEvent) {
fpEvent = pEvent;
}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicalVolumeMassScene.hh,v 1.10 2009/10/21 14:17:33 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4PhysicalVolumeMassScene.hh,v 1.11 2010/05/30 11:23:25 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// John Allison 12th September 2004
@@ -108,6 +108,7 @@ public:
void AddSolid (const G4VSolid& s) {AccrueMass (s);}
void AddCompound (const G4VTrajectory&) {}
void AddCompound (const G4VHit&) {}
void AddCompound (const G4VDigi&) {}
void AddCompound (const G4THitsMap<G4double>&) {}
////////////////////////////////////////////////////////////////
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicalVolumeModel.hh,v 1.35 2009/10/10 14:29:59 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4PhysicalVolumeModel.hh,v 1.36 2010/05/11 11:16:51 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// John Allison 31st December 1997.
@@ -61,7 +61,6 @@ class G4LogicalVolume;
class G4VSolid;
class G4Material;
class G4VisAttributes;
class G4Polyhedron;
class G4AttDef;
class G4AttValue;
@@ -136,8 +135,8 @@ public: // With description
G4int GetRequestedDepth () const {return fRequestedDepth;}
const G4Polyhedron* GetClippingPolyhedron () const
{return fpClippingPolyhedron;}
const G4VSolid* GetClippingSolid () const
{return fpClippingSolid;}
G4int GetCurrentDepth() const {return fCurrentDepth;}
// Current depth of geom. hierarchy.
@@ -181,8 +180,8 @@ public: // With description
fRequestedDepth = requestedDepth;
}
void SetClippingPolyhedron (const G4Polyhedron* pClippingPolyhedron) {
fpClippingPolyhedron = pClippingPolyhedron;
void SetClippingSolid (G4VSolid* pClippingSolid) {
fpClippingSolid = pClippingSolid;
}
void SetClippingMode (ClippingMode mode) {
@@ -233,7 +232,7 @@ protected:
std::vector<G4PhysicalVolumeNodeID> fFullPVPath;
std::vector<G4PhysicalVolumeNodeID> fDrawnPVPath;
G4bool fCurtailDescent;// Can be set to curtail descent.
const G4Polyhedron*fpClippingPolyhedron;
G4VSolid* fpClippingSolid;
ClippingMode fClippingMode;
private:
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicalVolumeSearchScene.hh,v 1.19 2009/10/21 14:17:33 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4PhysicalVolumeSearchScene.hh,v 1.20 2010/05/30 11:23:25 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// John Allison 10th August 1998.
@@ -73,6 +73,7 @@ public:
void AddSolid (const G4VSolid& s) {FindVolume (s);}
void AddCompound (const G4VTrajectory&) {}
void AddCompound (const G4VHit&) {}
void AddCompound (const G4VDigi&) {}
void AddCompound (const G4THitsMap<G4double>&) {}
G4int GetFoundDepth () const;
G4VPhysicalVolume* GetFoundVolume () const;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4TrajectoriesModel.hh,v 1.10 2006/10/26 11:10:23 allison Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrajectoriesModel.hh,v 1.11 2010/05/11 11:21:52 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// John Allison 26th August 1998.
@@ -49,21 +49,24 @@ class G4TrajectoriesModel: public G4VModel {
public: // With description
G4TrajectoriesModel (G4int drawingMode = 0);
G4TrajectoriesModel ();
G4TrajectoriesModel (G4int drawingMode);
virtual ~G4TrajectoriesModel ();
virtual void DescribeYourselfTo (G4VGraphicsScene&);
// The main task of a model is to describe itself to the graphics scene.
G4int GetDrawingMode() const { return fDrawingMode;}
void SetDrawingMode(G4int drawingMode) {fDrawingMode = drawingMode;}
G4bool IsDrawingModeSet() const;
G4int GetDrawingMode() const;
void SetDrawingMode(G4int drawingMode);
const G4VTrajectory* GetCurrentTrajectory() const
{return fpCurrentTrajectory;}
private:
G4bool fDrawingModeSet;
G4int fDrawingMode;
const G4VTrajectory* fpCurrentTrajectory;
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4TrajectoryDrawByAttribute.hh,v 1.1 2006/09/11 21:52:18 tinslay Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrajectoryDrawByAttribute.hh,v 1.2 2010/05/11 11:31:31 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// Jane Tinslay September 2006
//
@@ -50,8 +50,10 @@ public:
// Destructor
virtual ~G4TrajectoryDrawByAttribute();
// Draw the trajectory with optional i_mode parameter
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
// Draw the trajectory
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
const G4bool& visible = true) const;
virtual void Draw(const G4VTrajectory& trajectory,
const G4bool& visible = true) const;
// Print configuration
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4TrajectoryDrawByCharge.hh,v 1.7 2006/06/29 21:31:49 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrajectoryDrawByCharge.hh,v 1.8 2010/05/11 11:31:31 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// Jane Tinslay, John Allison, Joseph Perl November 2005
//
@@ -56,8 +56,10 @@ public: // With description
virtual ~G4TrajectoryDrawByCharge();
// Draw the trajectory with optional i_mode parameter
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
// Draw method
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
const G4bool& visible = true) const;
virtual void Draw(const G4VTrajectory& trajectory,
const G4bool& visible = true) const;
// Print configuration
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4TrajectoryDrawByOriginVolume.hh,v 1.4 2006/06/29 21:31:51 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrajectoryDrawByOriginVolume.hh,v 1.5 2010/05/11 11:31:31 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// Class Description:
// Trajectory model which colours a trajectory according to
@@ -49,10 +49,12 @@ public: // With description
virtual ~G4TrajectoryDrawByOriginVolume();
virtual void Draw(const G4VTrajectory&, const G4int& i_mode = 0,
// Draw method
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
const G4bool& visible = true) const;
// Draw the trajectory with optional i_mode parameter
virtual void Draw(const G4VTrajectory& trajectory,
const G4bool& visible = true) const;
virtual void Print(std::ostream& ostr) const;
// Print configuration
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4TrajectoryDrawByParticleID.hh,v 1.7 2006/06/29 21:31:53 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrajectoryDrawByParticleID.hh,v 1.8 2010/05/11 11:31:31 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// Jane Tinslay, John Allison, Joseph Perl November 2005
//
@@ -50,10 +50,12 @@ public: // With description
virtual ~G4TrajectoryDrawByParticleID();
virtual void Draw(const G4VTrajectory&, const G4int&i_mode = 0,
// Draw method
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
const G4bool& visible = true) const;
// Draw the trajectory with optional i_mode parameter
virtual void Draw(const G4VTrajectory& trajectory,
const G4bool& visible = true) const;
virtual void Print(std::ostream& ostr) const;
// Print configuration
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4TrajectoryDrawerUtils.hh,v 1.7 2007/05/30 08:56:55 allison Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrajectoryDrawerUtils.hh,v 1.9 2010/05/11 11:58:18 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// Jane Tinslay, John Allison, Joseph Perl November 2005
//
@@ -48,12 +48,17 @@ namespace G4TrajectoryDrawerUtils {
void GetPoints(const G4VTrajectory& traj, G4Polyline& trajectoryLine,
G4Polymarker& auxiliaryPoints, G4Polymarker& stepPoints);
/***
// Draw trajectory line and points
void DrawLineAndPoints(const G4VTrajectory& traj, const G4int& i_mode,
const G4Colour& cfg, const G4bool& visible);
***/
// Draw trajectory line and points using G4VisTrajContext object information
void DrawLineAndPoints(const G4VTrajectory& traj, const G4VisTrajContext&, const G4int& i_mode=0);
void DrawLineAndPoints(const G4VTrajectory& traj, const G4VisTrajContext&, const G4int& i_mode);
// Draw trajectory line and points using G4VisTrajContext object information
void DrawLineAndPoints(const G4VTrajectory& traj, const G4VisTrajContext&);
}
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4TrajectoryGenericDrawer.hh,v 1.2 2006/06/29 21:31:59 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrajectoryGenericDrawer.hh,v 1.3 2010/05/11 11:31:31 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// Jane Tinslay, John Allison, Joseph Perl November 2005
//
@@ -47,7 +47,9 @@ public: // With description
virtual ~G4TrajectoryGenericDrawer();
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
const G4bool& visible = true) const;
virtual void Draw(const G4VTrajectory& trajectory,
const G4bool& visible = true) const;
// Draw the trajectory with optional i_mode parameter
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4VTrajectoryModel.hh,v 1.7 2006/08/14 11:43:34 allison Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VTrajectoryModel.hh,v 1.8 2010/05/11 11:31:31 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// Jane Tinslay, John Allison, Joseph Perl October 2005
//
@@ -53,7 +53,9 @@ public:
virtual ~G4VTrajectoryModel();
// Draw method
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
virtual void Draw(const G4VTrajectory& trajectory, const G4int& i_mode = 0,
const G4bool& visible = true) const = 0;
virtual void Draw(const G4VTrajectory& trajectory,
const G4bool& visible = true) const = 0;
// Print configuration