Class RMGGeneratorDecay0

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class RMGGeneratorDecay0 : public RMGVGenerator

Integration of the BxDecay0 generator into remage.

This class links the BxDecay0 primary generator action with the remage vertex generator, allowing the simulation of various decay processes.

Additionally it offers more convenient commands to set the generator mode and process by writing into the BxDecay0 configuration interface.

Public Types

enum class Process

Enumeration of nuclear decay processes supported by the generator.

This matches the BxDecay0 numbering, shifted by 1 as BxDecay0 starts counting at 1.

Values:

enumerator k0vbb

neutrinoless double beta decay

enumerator k0vbb_lambda_0

0+ -> 0+ {2n} with RHC lambda

enumerator k0vbb_lambda_02

0+ -> 0+, 2+ {N*} with RHC lambda

enumerator k2vbb

2 neutrino double beta decay

enumerator k0vbb_M1

0+ -> 0+ {2n} (Majoron, SI=1)

enumerator k0vbb_M2

0+ -> 0+ {2n} (Majoron, SI=2)

enumerator k0vbb_M3

0+ -> 0+ {2n} (Majoron, SI=3)

enumerator k0vbb_M7

0+ -> 0+ {2n} (Majoron, SI=7)

enumerator k0vbb_lambda_2

0+ -> 2+ {2n} with RHC lambda

enumerator k2vbb_2

0+ -> 2+ {2n}, {N*}

enumerator k0vkb

EC + beta+ 0+ -> 0+, 2+.

enumerator k2vkb

EC + beta+ 0+ -> 0+, 2+.

enumerator k0v2k

double EC 0+ -> 0+, 2+

enumerator k2v2k

double EC 0+ -> 0+, 2+

enumerator k2vbb_bos0

0+ -> 0+ with bosonic neutrinos

enumerator k2vbb_bos2

0+ -> 2+ with bosonic neutrinos

enumerator k0vbb_eta_s

0+ -> 0+ with RHC eta simplified expression

enumerator k0vbb_eta_nmes

0+ -> 0+ with RHC eta and specific NMEs

enumerator k2vbb_lv

0+ -> 0+ with Lorentz violation

enumerator k0v4b

0+ -> 0+ Quadruple beta decay

Public Functions

RMGGeneratorDecay0(RMGMasterGenerator *master_gen)

Constructor that links the BxDecay0 generator action to remage.

BxDecay0’s primary generator action will own the pointer

Parameters:

master_gen – Pointer to the remage master generator.

RMGGeneratorDecay0() = delete
~RMGGeneratorDecay0()
RMGGeneratorDecay0(RMGGeneratorDecay0 const&) = delete
RMGGeneratorDecay0 &operator=(RMGGeneratorDecay0 const&) = delete
RMGGeneratorDecay0(RMGGeneratorDecay0&&) = delete
RMGGeneratorDecay0 &operator=(RMGGeneratorDecay0&&) = delete
virtual void GeneratePrimaries(G4Event*) override

Calls to fDecay0G4Generator to generate the primary for the event.

inline virtual void SetParticlePosition(G4ThreeVector) override

Set the primary vertex position.

This pure virtual method must be implemented by derived classes to set the primary vertex position for the generator.

Parameters:

vec – The desired primary vertex position.

virtual void BeginOfRunAction(const G4Run*) override

Updates the seed and configuration at the beginning of each run.

Only does something if any remage set up command was used ( fUpdateSeeds is true).

virtual void EndOfRunAction(const G4Run*) override

Called at the end of a run.

Derived generators can perform any necessary finalization in this method.

void SetBackground(std::string)

Sets BxDecay0 to run in background mode and sets the specific isotope.

Parameters:

isotope – The isotope to set (e.g. “Co60”).