LDMX Software
|
Bias the Photon-Nuclear process. More...
#include <PhotoNuclear.h>
Public Member Functions | |
PhotoNuclear (std::string name, const framework::config::Parameters &p) | |
Constructor. | |
void | StartRun () override |
Method called at the beginning of a run. | |
G4VBiasingOperation * | ProposeOccurenceBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess) override |
std::string | getProcessToBias () const override |
return the process we want to bias | |
std::string | getParticleToBias () const override |
return the particle that we want to bias | |
std::string | getVolumeToBias () const override |
return the volume we want to bias within | |
void | RecordConfig (ldmx::RunHeader &h) const override |
record the configuration into the run header | |
Public Member Functions inherited from simcore::XsecBiasingOperator | |
XsecBiasingOperator (std::string name, const framework::config::Parameters ¶meters) | |
Constructor. | |
virtual | ~XsecBiasingOperator ()=default |
Destructor. | |
void | StartRun () |
Method called at the beginning of a run. | |
Private Attributes | |
G4BOptnChangeCrossSection * | emXsecOperation {nullptr} |
Cross-section biasing operation for conversion process. | |
double | pnXsecUnbiased_ {0} |
Unbiased photonuclear xsec. | |
double | pnXsecBiased_ {0} |
Biased photonuclear xsec. | |
std::string | volume_ |
Volume we are going to bias within. | |
double | threshold_ |
minimum kinetic energy [MeV] for a track to be biased | |
double | factor_ |
factor to bias PN by | |
bool | down_bias_conv_ |
Should we down-bias the gamma conversion process? | |
bool | only_children_of_primary_ |
Should we restrict biasing to only children of primary? | |
Static Private Attributes | |
static const std::string | CONVERSION_PROCESS = "conv" |
Geant4 gamma conversion process name. | |
Additional Inherited Members | |
Public Types inherited from simcore::XsecBiasingOperator | |
using | Factory = ::simcore::Factory< XsecBiasingOperator, std::shared_ptr< XsecBiasingOperator >, std::string, const framework::config::Parameters & > |
The BiasingOperator factory. | |
Protected Member Functions inherited from simcore::XsecBiasingOperator | |
G4VBiasingOperation * | BiasedXsec (double biased_xsec) |
Helper method for passing a biased interaction length to the Geant4 biasing framework. | |
bool | processIsBiased (std::string process) |
Check if the given processed is being biased. | |
G4VBiasingOperation * | ProposeFinalStateBiasingOperation (const G4Track *, const G4BiasingProcessInterface *) |
Do not propose any biasing on final states. | |
G4VBiasingOperation * | ProposeNonPhysicsBiasingOperation (const G4Track *, const G4BiasingProcessInterface *) |
Do not propose any non-physics biasing. | |
Protected Attributes inherited from simcore::XsecBiasingOperator | |
G4BOptnChangeCrossSection * | xsecOperation_ {nullptr} |
Cross-section biasing operation. | |
G4ProcessManager * | processManager_ {nullptr} |
Process manager associated with the particle of interest. | |
Bias the Photon-Nuclear process.
Definition at line 13 of file PhotoNuclear.h.
simcore::biasoperators::PhotoNuclear::PhotoNuclear | ( | std::string | name, |
const framework::config::Parameters & | p | ||
) |
Constructor.
Definition at line 8 of file PhotoNuclear.cxx.
References down_bias_conv_, factor_, framework::config::Parameters::getParameter(), only_children_of_primary_, threshold_, and volume_.
|
inlineoverridevirtual |
return the particle that we want to bias
Implements simcore::XsecBiasingOperator.
Definition at line 33 of file PhotoNuclear.h.
|
inlineoverridevirtual |
return the process we want to bias
Implements simcore::XsecBiasingOperator.
Definition at line 30 of file PhotoNuclear.h.
|
inlineoverridevirtual |
return the volume we want to bias within
Implements simcore::XsecBiasingOperator.
Definition at line 36 of file PhotoNuclear.h.
References volume_.
|
overridevirtual |
Implements simcore::XsecBiasingOperator.
Definition at line 30 of file PhotoNuclear.cxx.
References simcore::XsecBiasingOperator::BiasedXsec(), CONVERSION_PROCESS, down_bias_conv_, emXsecOperation, factor_, only_children_of_primary_, pnXsecBiased_, pnXsecUnbiased_, and threshold_.
|
inlineoverridevirtual |
record the configuration into the run header
Implements simcore::XsecBiasingOperator.
Definition at line 39 of file PhotoNuclear.h.
References down_bias_conv_, factor_, only_children_of_primary_, ldmx::RunHeader::setFloatParameter(), ldmx::RunHeader::setIntParameter(), ldmx::RunHeader::setStringParameter(), threshold_, and volume_.
|
override |
Method called at the beginning of a run.
Definition at line 18 of file PhotoNuclear.cxx.
References CONVERSION_PROCESS, down_bias_conv_, emXsecOperation, simcore::XsecBiasingOperator::processIsBiased(), and simcore::XsecBiasingOperator::StartRun().
|
staticprivate |
Geant4 gamma conversion process name.
Definition at line 51 of file PhotoNuclear.h.
Referenced by ProposeOccurenceBiasingOperation(), and StartRun().
|
private |
Should we down-bias the gamma conversion process?
Definition at line 72 of file PhotoNuclear.h.
Referenced by PhotoNuclear(), ProposeOccurenceBiasingOperation(), RecordConfig(), and StartRun().
|
private |
Cross-section biasing operation for conversion process.
Definition at line 54 of file PhotoNuclear.h.
Referenced by ProposeOccurenceBiasingOperation(), and StartRun().
|
private |
factor to bias PN by
Definition at line 69 of file PhotoNuclear.h.
Referenced by PhotoNuclear(), ProposeOccurenceBiasingOperation(), and RecordConfig().
|
private |
Should we restrict biasing to only children of primary?
Definition at line 75 of file PhotoNuclear.h.
Referenced by PhotoNuclear(), ProposeOccurenceBiasingOperation(), and RecordConfig().
|
private |
Biased photonuclear xsec.
Definition at line 60 of file PhotoNuclear.h.
Referenced by ProposeOccurenceBiasingOperation().
|
private |
Unbiased photonuclear xsec.
Definition at line 57 of file PhotoNuclear.h.
Referenced by ProposeOccurenceBiasingOperation().
|
private |
minimum kinetic energy [MeV] for a track to be biased
Definition at line 66 of file PhotoNuclear.h.
Referenced by PhotoNuclear(), ProposeOccurenceBiasingOperation(), and RecordConfig().
|
private |
Volume we are going to bias within.
Definition at line 63 of file PhotoNuclear.h.
Referenced by getVolumeToBias(), PhotoNuclear(), and RecordConfig().