2#include "SimCore/BiasOperators/GammaToMuPair.h"
5namespace biasoperators {
16 const G4Track* track,
const G4BiasingProcessInterface* callingProcess) {
21 std::string current_process =
22 callingProcess->GetWrappedProcess()->GetProcessName();
23 if (current_process.compare(this->getProcessToBias()) == 0) {
24 G4double interaction_length =
25 callingProcess->GetWrappedProcess()->GetCurrentInteractionLength();
27 double en_xsec_unbiased = 1. / interaction_length;
29 double en_xsec_biased = en_xsec_unbiased *
factor_;
Class encapsulating parameters for configuring a processor.
const T & get(const std::string &name) const
Retrieve the parameter of the given name.
Our specialization of the biasing operator used with Geant4.
G4VBiasingOperation * BiasedXsec(double biased_xsec)
Helper method for passing a biased interaction length to the Geant4 biasing framework.
Bias the Gamma to Mu Pair process.
G4VBiasingOperation * ProposeOccurenceBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess) override
std::string volume_
The volume to bias in.
GammaToMuPair(std::string name, const framework::config::Parameters &p)
Constructor.
double factor_
The biasing factor.
double threshold_
Minimum kinetic energy [MeV] to allow a track to be biased.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...