23 #ifndef _DARK_SECTOR_DECAYER_H_
24 #define _DARK_SECTOR_DECAYER_H_
26 #include <TGenPhaseSpace.h>
27 #include <TLorentzVector.h>
59 const std::vector<int> & pdg_daughters)
const;
64 double total_amplitude)
const;
68 double total_amplitude)
const;
86 #endif // _DARK_SECTOR_DECAYER_H_
Dark Sector decayer module.
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the 'Visito...
virtual void Configure(const Registry &config)
std::array< double, 4 > fMixing2s
std::pair< std::vector< int >, double > DecayChannel
virtual ~DarkSectorDecayer()
std::vector< GHepParticle > Decay(const GHepParticle &mother, const std::vector< int > &pdg_daughters) const
void SetSpaceTime(std::vector< GHepParticle > &pp, const GHepParticle &mother, double total_amplitude) const
void ProcessEventRecord(GHepRecord *event) const
std::vector< DecayChannel > DarkMediatorDecayChannels(void) const
virtual void LoadConfig(void)
TGenPhaseSpace fPhaseSpaceGenerator
bool ToBeDecayed(const GHepParticle &p) const
static string ParticleGunKineAsString(const TLorentzVector &vec4)
A registry. Provides the container for algorithm configuration parameters.
int SelectDecayChannel(const std::vector< DecayChannel > &dcs, double total_amplitude) const
GENIE's GHEP MC event record.
std::vector< DecayChannel > DarkNeutrinoDecayChannels(int mother_pdg) const
STDHEP-like event record entry that can fit a particle or a nucleus.