8#ifndef SIMCORE_DARKBREM_APRIMEPHYSICS_H_
9#define SIMCORE_DARKBREM_APRIMEPHYSICS_H_
12#include "Framework/Configure/Parameters.h"
13#include "Framework/Logger.h"
14#include "G4DarkBreM/G4APrime.h"
15#include "G4DarkBreM/G4DarkBreMModel.h"
16#include "G4DarkBreM/G4DarkBremsstrahlung.h"
17#include "G4DarkBreM/G4FractionallyCharged.h"
19#include "SimCore/G4User/UserEventInformation.h"
22#include "G4Electron.hh"
23#include "G4EventManager.hh"
24#include "G4ProcessManager.hh"
25#include "G4VPhysicsConstructor.hh"
53 static const std::string
NAME;
127 std::unique_ptr<G4DarkBremsstrahlung> process_;
136 enableLogging(
"APrimePhysics")
A' -> fcp+ fcp- conversion in a nuclear field.
Class encapsulating parameters for configuring a processor.
Discrete process for A' -> fcp+ fcp- conversion in a nuclear field.
Defines basic APrime physics.
bool fcp_enable_
is A' -> fcp conversion enabled for this run?
virtual ~APrimePhysics()=default
Class destructor.
APrimeConversionToFCPs * fcp_conversion_process_
A' -> fcp conversion process (owned by G4 process manager after registration)
G4double fcp_xsec_factor_
cross section biasing factor for A' -> fcp conversion
framework::config::Parameters parameters_
Dark brem parameters to pass to the process (if enabled)
void ConstructParticle()
Construct particle.
G4double ap_mass_
the mass of the A' for this run
static const std::string NAME
The name of this physics constructor.
APrimePhysics(const framework::config::Parameters ¶ms)
Class constructor.
G4double fcp_mass_
mass of the fcp in MeV
bool enable_
is dark brem enabled for this run?
G4double fcp_charge_
charge of the fcp in units of e
void ConstructProcess()
Construct the process.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...