Import Geant4 5.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:57:27 +02:00
parent 330b82b769
commit 37fff30d2e
5733 changed files with 263867 additions and 74574 deletions
@@ -21,28 +21,60 @@
// ********************************************************************
//
//
// $Id: G4VSampler.hh,v 1.1 2002/05/31 08:08:22 dressel Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: G4VSampler.hh,v 1.6 2002/10/22 13:25:57 dressel Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// ----------------------------------------------------------------------
// Class G4VSampler
//
// Class description:
// The base class for importance sampling and scoring.
//
//
// This interface discribes a configurable sampler.
// It applies to a given particle type.
// Concrete classes with this interface may be used for
// scoring, importance sampling and weigth cutoff (weight roulett).
//
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4VSampler_hh
#define G4VSampler_hh G4VSampler_hh
class G4VSampler
{
public:
virtual ~G4VSampler(){}
virtual void Initialize() = 0;
// the user must initialize the concrete object this interface
// covers afer the initialization of the G4RunManager
};
#include "globals.hh"
class G4VPhysicalVolume;
class G4VImportanceAlgorithm;
class G4VIStore;
class G4VScorer;
class G4VSampler {
public:
G4VSampler();
virtual ~G4VSampler();
virtual void PrepareScoring(G4VScorer *Scorer) = 0;
virtual void PrepareImportanceSampling(G4VIStore *istore,
const G4VImportanceAlgorithm
*ialg = 0) = 0;
virtual void PrepareWeightRoulett(G4double wsurvive = 0.5,
G4double wlimit = 0.25,
G4double isource = 1) = 0;
virtual void Configure() = 0;
virtual void ClearSampling() = 0;
// clear the sampler and remove the processes
virtual G4bool IsConfigured() const = 0;
// check if some initialization hase already been done
};
#endif