37#ifndef G4WEIGHTWINDOWSTORE_HH
38#define G4WEIGHTWINDOWSTORE_HH
108 const std::vector<G4double>& lowerWeights);
120 std::less<G4double> >& enBounds);
126 explicit G4WeightWindowStore();
127 explicit G4WeightWindowStore(
const G4String& ParallelWorldName);
132 ~G4WeightWindowStore()
override =
default;
143 void Error(
const G4String& m)
const;
149 std::set<G4double, std::less<G4double> > fGeneralUpperEnergyBounds;
151 mutable G4GeometryCellWeight::const_iterator fCurrentIterator;
std::map< G4double, G4double, std::less< G4double > > G4UpperEnergyToLowerWeightMap
G4UpperEnergyToLowerWeightMap and G4GeometryCellWeight are maps used internally by the weight window ...
std::map< G4GeometryCell, G4UpperEnergyToLowerWeightMap, G4GeometryCellComp > G4GeometryCellWeight
G4GeometryCell is used for scoring and importance sampling. It defines a "cell", which,...
G4VPhysicalVolume is an abstract base class for the representation of a positioned volume....
G4VWeightWindowStore()=default
void AddLowerWeights(const G4GeometryCell &gCell, const std::vector< G4double > &lowerWeights)
void SetParallelWorldVolume(const G4String ¶Name)
const G4VPhysicalVolume * GetParallelWorldVolumePointer() const
void SetGeneralUpperEnergyBounds(const std::set< G4double, std::less< G4double > > &enBounds)
static G4WeightWindowStore * GetInstance()
G4bool IsKnown(const G4GeometryCell &gCell) const override
const G4VPhysicalVolume & GetWorldVolume() const override
G4double GetLowerWeight(const G4GeometryCell &gCell, G4double partEnergy) const override
void AddUpperEboundLowerWeightPairs(const G4GeometryCell &gCell, const G4UpperEnergyToLowerWeightMap &enWeMap)