Import Geant4 9.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:16:48 +02:00
parent 75c7fd177d
commit a8e9364cea
6592 changed files with 84274 additions and 69292 deletions
@@ -25,7 +25,7 @@
//
//
// $Id: G4GeometryCell.hh,v 1.6 2006/06/29 18:15:49 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometryCell
@@ -25,7 +25,7 @@
//
//
// $Id: G4GeometryCellComp.hh,v 1.2 2006/06/29 18:15:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometryCellComp
@@ -25,7 +25,7 @@
//
//
// $Id: G4GeometryCellImportance.hh,v 1.4 2006/06/29 18:15:54 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometryCellImportance
@@ -25,7 +25,7 @@
//
//
// $Id: G4GeometryCellStep.hh,v 1.2 2006/06/29 18:15:57 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometryCellStep
@@ -25,7 +25,7 @@
//
//
// $Id: G4GeometryCellStepStream.hh,v 1.3 2006/06/29 18:15:59 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Declarations
@@ -25,7 +25,7 @@
//
//
// $Id: G4GeometryCellWeight.hh,v 1.3 2006/06/29 18:16:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometryCellWeight
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4IStore.hh,v 1.10 2006/06/29 18:16:04 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4IStore
@@ -25,7 +25,7 @@
//
//
// $Id: G4ImportanceAlgorithm.hh,v 1.7 2006/06/29 18:16:06 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4ImportanceAlgorithm
@@ -1,80 +0,0 @@
//
// ********************************************************************
// * 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: G4ImportanceSplitExaminer.hh,v 1.8 2006/06/29 18:16:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4ImportanceSplitExaminer
//
// Class description:
//
// This class is used internally by importance sampling.
// Implementation of a importance split examiner
// (see G4VImportanceSplitExaminer).
// This implementation is used for sampling in a "parallel"
// geometry.
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4ImportanceSplitExaminer_hh
#define G4ImportanceSplitExaminer_hh G4ImportanceSplitExaminer_hh
#include "G4VImportanceSplitExaminer.hh"
class G4VImportanceAlgorithm;
class G4VParallelStepper;
class G4VIStore;
class G4ImportanceSplitExaminer: public G4VImportanceSplitExaminer
{
public: // with description
G4ImportanceSplitExaminer(const G4VImportanceAlgorithm &aIalg,
const G4VParallelStepper &astepper,
const G4VIStore &istore);
virtual ~G4ImportanceSplitExaminer();
virtual G4Nsplit_Weight Examine(G4double w) const;
// Get G4Nsplit_Weight for a given mother track weight.
private:
G4ImportanceSplitExaminer(const G4ImportanceSplitExaminer &);
G4ImportanceSplitExaminer &operator=(const G4ImportanceSplitExaminer &);
private:
const G4VImportanceAlgorithm &fIalgorithm;
const G4VParallelStepper &fPStepper;
const G4VIStore &fIStore;
};
#endif
@@ -25,7 +25,7 @@
//
//
// $Id: G4Nsplit_Weight.hh,v 1.11 2006/06/29 18:16:21 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4Nsplit_Weight
@@ -1,146 +0,0 @@
//
// ********************************************************************
// * 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: G4ParallelNavigator.hh,v 1.10 2006/06/29 18:16:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4ParallelNavigator
//
// Class description:
//
// Used internaly for importance sampling and scoring in a "parallel"
// geometry.
// It implements the interface G4VPGeoDriver (see G4VPGeoDriver.hh).
// It uses a G4Navigator.
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4ParallelNavigator_hh
#define G4ParallelNavigator_hh G4ParallelNavigator_hh
#include "G4VPGeoDriver.hh"
#include "geomdefs.hh"
#include "G4TouchableHandle.hh"
#include "G4Navigator.hh"
class G4GeometryCell ;
class G4VPhysicalVolume;
class G4ParallelNavigator : public G4VPGeoDriver
{
public: // with description
explicit G4ParallelNavigator(G4VPhysicalVolume &aWorldVolume);
// initialise and create G4Navigator and a TouchableHistory
virtual ~G4ParallelNavigator();
// delete Touchable and Navigator
virtual G4GeometryCell
LocateOnBoundary(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection);
// The location of a track according to it's position
// and direction in case the track crosses a boundary
// of a "parallel" geometry.
// Must be called in the PostDOIT of the ParallelTransportation.
// (The track crosses the boundary if PostDOIT gets called.)
virtual G4GeometryCell GetCurrentGeometryCell() const;
// get the current G4GeometryCell of the "parallel" geometry
virtual G4double
ComputeStepLengthInit(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection);
// compute step length for a starting track.
virtual G4double
ComputeStepLengthCrossBoundary(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection);
// compute the step length after a track crossed a boundary
// in a "parallel" geometry
virtual G4double
ComputeStepLengthInVolume(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection);
// compute step length when track moves inside a volume.
void SetVerboseity(G4int v);
private:
G4ParallelNavigator(const G4ParallelNavigator &);
G4ParallelNavigator &operator=(const G4ParallelNavigator &);
G4double ComputeStepLengthShifted(const G4String &m,
const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection);
G4double GetStepLength(const G4String &methodname,
const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection);
G4double GetStepLengthUseLocate(const G4String &methodname,
const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection);
void Locate(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection,
G4bool historysearch,
G4bool useDirection);
void Error(const G4String &m,
const G4ThreeVector &pos,
const G4ThreeVector &dir);
G4double Shift(G4double d);
private:
G4Navigator fNavigator;
G4int fNlocated;
G4int fMaxShiftedTrys;
G4TouchableHandle fCurrentTouchableH;
G4int fVerbose;
};
#endif
@@ -1,89 +0,0 @@
//
// ********************************************************************
// * 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: G4ParallelStepper.hh,v 1.7 2006/06/29 18:16:25 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4ParallelStepper
//
// Class description:
//
// Used internally by importance sampling and scoring in a "parallel"
// geometry. (See G4VParallelStepper.hh)
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4ParallelStepper_hh
#define G4ParallelStepper_hh G4ParallelStepper_hh
#include "G4VParallelStepper.hh"
#include "G4GeometryCellStep.hh"
class G4ParallelStepper : public G4VParallelStepper
{
public: // with description
G4ParallelStepper();
// imitilisation
G4ParallelStepper(const G4ParallelStepper &);
// create new G4GeometryCellStep
virtual ~G4ParallelStepper();
// delete G4Pstep if created
virtual G4GeometryCellStep GetPStep() const;
// get the current G4GeometryCellStep
virtual void Init(const G4GeometryCell &agCell);
// initialise the parallel stepper and the G4GeometryCellStep
// pre and post G4GeometryCell of the step are set equal
virtual void Update(const G4GeometryCell &agCell);
// to be called when crossing a boundary of the
// "parallel" geometry to update the G4GeometryCellStep
virtual void UnSetCrossBoundary();
// to be called to unset the fCrossBoundary member of the G4GeometryCellStep
G4ParallelStepper &operator=(const G4ParallelStepper &);
// create new G4GeometryCellStep
private:
void Error(const G4String &m);
private:
G4GeometryCellStep *fPStep;
};
#endif
@@ -1,82 +0,0 @@
//
// ********************************************************************
// * 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: G4ParallelWorld.hh,v 1.7 2006/06/29 18:16:27 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4ParallelWorld
//
// Class description:
//
// Used internally by importance samplin and scoring in a "parallel"
// geometry.
// The class relates the world volume (G4VPhysicalVolume),
// G4VGeoDriver and G4VParallelStepper for one "parallel"
// geometry.
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4ParallelWorld_hh
#define G4ParallelWorld_hh G4ParallelWorld_hh
#include "globals.hh"
class G4VPhysicalVolume;
class G4VParallelStepper;
class G4VPGeoDriver;
class G4ParallelWorld
{
public: // with description
explicit G4ParallelWorld(G4VPhysicalVolume &worldvolume);
// initialisation and create G4ParallelStepper and a G4VPGeoDriver
~G4ParallelWorld();
// delete G4ParallelStepper and a G4VPGeoDriver
G4VParallelStepper &GetParallelStepper();
// get the parallel stepper
G4VPGeoDriver &GetGeoDriver();
// get the G4VPGeoDriver
private:
G4ParallelWorld(const G4ParallelWorld &rhs);
// create G4ParallelStepper and a G4VPGeoDriver
G4ParallelWorld &operator=(const G4ParallelWorld &rhs);
// create G4ParallelStepper and a G4VPGeoDriver
G4VParallelStepper *fPstepper;
G4VPGeoDriver *fPdriver;
};
#endif
@@ -25,7 +25,7 @@
//
//
// $Id: G4VCellScorer.hh,v 1.7 2006/06/29 18:16:29 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VCellScorer
@@ -25,7 +25,7 @@
//
//
// $Id: G4VCellScorerStore.hh,v 1.7 2006/06/29 18:16:32 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VCellScorerStore
@@ -25,7 +25,7 @@
//
//
// $Id: G4VGCellFinder.hh,v 1.2 2006/06/29 18:16:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VGCellFinder
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4VIStore.hh,v 1.9 2006/06/29 18:16:37 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VIStore
@@ -25,7 +25,7 @@
//
//
// $Id: G4VImportanceAlgorithm.hh,v 1.8 2006/06/29 18:16:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VImportanceAlgorithm
@@ -25,7 +25,7 @@
//
//
// $Id: G4VImportanceSplitExaminer.hh,v 1.5 2006/06/29 18:16:42 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VImportanceSplitExaminer
@@ -1,85 +0,0 @@
//
// ********************************************************************
// * 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: G4VPGeoDriver.hh,v 1.7 2006/06/29 18:16:45 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4VPGeoDriver
//
// Class description:
//
// Used internally by importance sampling and scoring in a "parallel"
// geometry.
// It defines an interface to "drive" or "move" a particle in a
// "parallel" geometry.
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4VPGeoDriver_hh
#define G4VPGeoDriver_hh G4VPGeoDriver_hh
#include "globals.hh"
#include "G4ThreeVector.hh"
#include "G4GeometryCell.hh"
class G4VPhysicalVolume;
class G4VPGeoDriver
{
public: // with description
G4VPGeoDriver();
virtual ~G4VPGeoDriver();
virtual G4GeometryCell LocateOnBoundary(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection) = 0;
// The location of a track according to it's position
// and direction in case the track crosses a boundary
// of a "parallel" geometry.
// Must be called in the PostDOIT of the ParallelTransportation.
// (The track crosses the boundary if PostDOIT gets called.)
virtual G4GeometryCell GetCurrentGeometryCell() const = 0;
// get the current G4GeometryCell of the "parallel" geometry
virtual G4double ComputeStepLengthInit(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection) = 0;
// compute step length for a starting track.
virtual G4double ComputeStepLengthCrossBoundary(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection) = 0;
// compute the step length after a track crossed a boundary
// in a "parallel" geometry
virtual G4double ComputeStepLengthInVolume(const G4ThreeVector &aPosition,
const G4ThreeVector &aDirection) = 0;
// compute step length when track moves inside a volume.
};
#endif
@@ -1,73 +0,0 @@
//
// ********************************************************************
// * 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: G4VParallelStepper.hh,v 1.8 2006/06/29 18:16:47 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4VParallelStepper
//
// Class description:
//
// This interface is used internally by importance sampling and scoring
// in a "parallel" geometry.
// It abstracts a parallel stepper which servs to comunicate
// information about a G4GeometryCellStep between the "transportation"
// (done by G4ParallelTransport) of a track in a "parallel" geometry
// and a scorer for that geometry.
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4VParallelStepper_hh
#define G4VParallelStepper_hh G4VParallelStepper_hh
#include "G4GeometryCellStep.hh"
class G4VParallelStepper
{
public: // with description
G4VParallelStepper();
virtual ~G4VParallelStepper();
virtual G4GeometryCellStep GetPStep() const = 0;
// get the current G4GeometryCellStep
virtual void Init(const G4GeometryCell &agCell) = 0;
// initialise the parallel stepper and the G4GeometryCellStep
// pre and post G4GeometryCell of the step are set equal
virtual void Update(const G4GeometryCell &agCell) = 0;
// to be called when crossing a boundary of the
// "parallel" geometry to update the G4GeometryCellStep
virtual void UnSetCrossBoundary() = 0;
// to be called to unset the fCrossBoundary member of the G4GeometryCellStep
};
#endif
@@ -1,64 +0,0 @@
//
// ********************************************************************
// * 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: G4VScorer.hh,v 1.2 2006/06/29 18:16:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4VScorer
//
// Class description:
//
// This interface is known by scoring. Implementation of
// scorers should inherit from it.
// A scorer is applicable to a particle type.
// The scorer (inheriting from this interface) is informed
// about every step of a particle of the applicable type.
// The information consists of the G4Step and the G4GeometryCellStep
// (see G4GeometryCellStep.hh).
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4VScorer_hh
#define G4VScorer_hh G4VScorer_hh
class G4Step;
class G4GeometryCellStep;
class G4VScorer
{
public: // with description
G4VScorer();
virtual ~G4VScorer();
virtual void Score(const G4Step &step, const G4GeometryCellStep &gstep) = 0;
// perform scoring for the G4Step and G4GeometryCellStep
};
#endif
@@ -25,7 +25,7 @@
//
//
// $Id: G4VWeightWindowAlgorithm.hh,v 1.8 2006/06/29 18:16:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VWeightWindowAlgorithm
@@ -1,64 +0,0 @@
//
// ********************************************************************
// * 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: G4VWeightWindowExaminer.hh,v 1.3 2006/06/29 18:16:54 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4VWeightWindowExaminer
//
// Class description:
//
// Interface class to a weight window examiner. The examiner
// has to return the number of tracks and their weight according to
// the initial track weight and the energy of the track.
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4VWeightWindowExaminer_hh
#define G4VWeightWindowExaminer_hh G4VWeightWindowExaminer_hh
#include "globals.hh"
#include "G4Nsplit_Weight.hh"
class G4VWeightWindowExaminer
{
public: // with description
// constructor and destructor
G4VWeightWindowExaminer();
virtual ~G4VWeightWindowExaminer();
virtual G4Nsplit_Weight Examine(G4double w, G4double energy) const = 0;
// evaluate the number of tracks and their weight according
// to the initial track weight and energy
};
#endif
@@ -25,7 +25,7 @@
//
//
// $Id: G4VWeightWindowStore.hh,v 1.3 2006/06/29 18:16:57 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VWeightWindowStore
@@ -25,7 +25,7 @@
//
//
// $Id: G4WeightWindowAlgorithm.hh,v 1.7 2006/06/29 18:16:59 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4WeightWindowAlgorithm
@@ -1,82 +0,0 @@
//
// ********************************************************************
// * 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: G4WeightWindowExaminer.hh,v 1.3 2006/06/29 18:17:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// ----------------------------------------------------------------------
// Class G4WeightWindowExaminer
//
// Class description:
//
// Implementation of an weight window examiner according to
// G4VWeightWindowExaminer interface.
// See also description in G4VWeightWindowExaminer.hh
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4WeightWindowExaminer_hh
#define G4WeightWindowExaminer_hh G4WeightWindowExaminer_hh
#include "G4VWeightWindowExaminer.hh"
class G4VWeightWindowAlgorithm;
class G4VParallelStepper;
class G4VWeightWindowStore;
class G4WeightWindowExaminer: public G4VWeightWindowExaminer
{
public: // with description
G4WeightWindowExaminer(const G4VWeightWindowAlgorithm &aWWalg,
const G4VParallelStepper &astepper,
const G4VWeightWindowStore &wwstore);
// constructor
virtual ~G4WeightWindowExaminer();
// destructor
virtual G4Nsplit_Weight Examine(G4double w, G4double energy) const;
// evaluate the number of tracks and their weight according
// to the initial track weight and energy
private:
G4WeightWindowExaminer(const G4WeightWindowExaminer &);
G4WeightWindowExaminer &operator=(const G4WeightWindowExaminer &);
private:
const G4VWeightWindowAlgorithm &fWWalgorithm;
const G4VParallelStepper &fPStepper;
const G4VWeightWindowStore &fWWStore;
};
#endif
@@ -25,7 +25,7 @@
//
//
// $Id: G4WeightWindowStore.hh,v 1.3 2006/06/29 18:17:05 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4WeightWindowStore