|
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. | |
| DECLARE_FACTORY_WITH_WAREHOUSE (XsecBiasingOperator, std::shared_ptr< XsecBiasingOperator >, std::string, const framework::config::Parameters &) | |
| The BiasingOperator factory. | |
| virtual | ~XsecBiasingOperator ()=default |
| Destructor. | |
| void | StartRun () |
| Method called at the beginning of a run. | |
Private Attributes | |
| G4BOptnChangeCrossSection * | em_xsec_operation_ {nullptr} |
| Cross-section biasing operation for conversion process. | |
| double | pn_xsec_unbiased_ {0} |
| Unbiased photonuclear xsec. | |
| double | pn_xsec_biased_ {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 | |
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 * | xsec_operation_ {nullptr} |
| Cross-section biasing operation. | |
| G4ProcessManager * | process_manager_ {nullptr} |
| Process manager associated with the particle of interest. | |
| framework::logging::logger | the_log_ |
| Enable logging. | |
Bias the Photon-Nuclear process.
Definition at line 14 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::get(), only_children_of_primary_, threshold_, and volume_.
|
inlineoverridevirtual |
return the particle that we want to bias
Implements simcore::XsecBiasingOperator.
Definition at line 34 of file PhotoNuclear.h.
|
inlineoverridevirtual |
return the process we want to bias
Implements simcore::XsecBiasingOperator.
Definition at line 31 of file PhotoNuclear.h.
|
inlineoverridevirtual |
return the volume we want to bias within
Implements simcore::XsecBiasingOperator.
Definition at line 37 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_, em_xsec_operation_, factor_, only_children_of_primary_, pn_xsec_biased_, pn_xsec_unbiased_, and threshold_.
|
inlineoverridevirtual |
record the configuration into the run header
Implements simcore::XsecBiasingOperator.
Definition at line 40 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_, em_xsec_operation_, simcore::XsecBiasingOperator::processIsBiased(), and simcore::XsecBiasingOperator::StartRun().
|
staticprivate |
Geant4 gamma conversion process name.
Definition at line 52 of file PhotoNuclear.h.
Referenced by ProposeOccurenceBiasingOperation(), and StartRun().
|
private |
Should we down-bias the gamma conversion process?
Definition at line 73 of file PhotoNuclear.h.
Referenced by PhotoNuclear(), ProposeOccurenceBiasingOperation(), RecordConfig(), and StartRun().
|
private |
Cross-section biasing operation for conversion process.
Definition at line 55 of file PhotoNuclear.h.
Referenced by ProposeOccurenceBiasingOperation(), and StartRun().
|
private |
factor to bias PN by
Definition at line 70 of file PhotoNuclear.h.
Referenced by PhotoNuclear(), ProposeOccurenceBiasingOperation(), and RecordConfig().
|
private |
Should we restrict biasing to only children of primary?
Definition at line 76 of file PhotoNuclear.h.
Referenced by PhotoNuclear(), ProposeOccurenceBiasingOperation(), and RecordConfig().
|
private |
Biased photonuclear xsec.
Definition at line 61 of file PhotoNuclear.h.
Referenced by ProposeOccurenceBiasingOperation().
|
private |
Unbiased photonuclear xsec.
Definition at line 58 of file PhotoNuclear.h.
Referenced by ProposeOccurenceBiasingOperation().
|
private |
minimum kinetic energy [MeV] for a track to be biased
Definition at line 67 of file PhotoNuclear.h.
Referenced by PhotoNuclear(), ProposeOccurenceBiasingOperation(), and RecordConfig().
|
private |
Volume we are going to bias within.
Definition at line 64 of file PhotoNuclear.h.
Referenced by getVolumeToBias(), PhotoNuclear(), and RecordConfig().