19#ifndef BDSPSPOPULATIONSCALED_H
20#define BDSPSPOPULATIONSCALED_H
22#include "G4THitsMap.hh"
23#include "G4TrackLogger.hh"
25#include "G4VPrimitiveScorer.hh"
53 const G4String& pathname,
59 void Initialize(G4HCofThisEvent* HCE)
override;
60 void EndOfEvent(G4HCofThisEvent* HCE)
override;
61 void clear()
override;
63 G4bool ProcessHits(G4Step* aStep, G4TouchableHistory*)
override;
65 virtual G4double GetConversionFactor(G4int particleID,
66 G4double kineticEnergy,
67 G4double angle)
const;
69 static std::vector<G4String> LoadDirectoryContents(
const G4String& dirname);
70 G4int NearestNeighbourAngleIndex(
const std::vector<G4double>& vec, G4double value)
const;
71 G4int NearestNeighbourIonPID(
const std::vector<G4int>& vec, G4int value)
const;
72 G4int GetZFromParticleID(G4int particleID)
const;
73 void PrintAll()
override;
79 std::map<G4int, G4TrackLogger> fCellTrackLogger;
80 std::map< G4int, std::map<G4int, G4PhysicsVector*> > conversionFactors;
81 std::map< G4int, std::vector<G4int> > ionParticleIDs;
82 std::vector<G4double> angles;
Primitive scorer for population in a volume with a conversion factor based on angle and kinetic energ...