29#ifndef SCAVENGER_ScoreSpecies_h
30#define SCAVENGER_ScoreSpecies_h 1
32#include "G4VPrimitiveScorer.hh"
33#include "G4THitsMap.hh"
35#include "G4UIcmdWithADoubleAndUnit.hh"
36#include "G4UIcmdWithAnInteger.hh"
37#include "G4UIcmdWithAString.hh"
38#include "G4UImessenger.hh"
G4int GetNumberOfRecordedEvents() const
Get number of recorded events.
std::set< G4double > fTimeToRecord
std::map< Species *, SpeciesInfo > InnerSpeciesMap
void AbsorbResultsFromWorkerScorer(G4VPrimitiveScorer *)
Method used in multithreading mode in order to merge the results.
void AddTimeToRecord(const G4double &time)
Add a time at which the number of species should be recorded.
G4THitsMap< G4double > * fEvtMap
SpeciesMap fSpeciesInfoPerTime
std::unique_ptr< G4UIcmdWithAnInteger > fpTimeBincmd
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override
~ScoreSpecies() override=default
void WriteWithAnalysisManager(G4VAnalysisManager *)
Write results to whatever chosen file format.
void SetNewValue(G4UIcommand *, G4String) override
std::unique_ptr< G4UIdirectory > fpSpeciesdir
const G4MolecularConfiguration Species
void EndOfEvent(G4HCofThisEvent *) override
void ClearTimeToRecord()
Remove all times to record, must be reset by user.
std::unique_ptr< G4UIcmdWithAString > fpSetResultsFileNameCmd
std::map< G4double, InnerSpeciesMap > SpeciesMap
ScoreSpecies(const G4String &name, const G4int &depth=0)
std::unique_ptr< G4UIcmdWithADoubleAndUnit > fpAddTimeToRecordcmd
SpeciesInfo & operator=(const SpeciesInfo &right)=default
SpeciesInfo(const SpeciesInfo &right)=default