diff --git a/Decay/FormFactors/ScalarAmplitude.cc b/Decay/FormFactors/ScalarAmplitude.cc new file mode 100644 --- /dev/null +++ b/Decay/FormFactors/ScalarAmplitude.cc @@ -0,0 +1,31 @@ +// -*- C++ -*- +// +// This is the implementation of the non-inlined, non-templated member +// functions of the ScalarAmplitude class. +// + +#include "ScalarAmplitude.h" +#include "ThePEG/Interface/ClassDocumentation.h" +#include "ThePEG/EventRecord/Particle.h" +#include "ThePEG/Repository/UseRandom.h" +#include "ThePEG/Repository/EventGenerator.h" +#include "ThePEG/Utilities/DescribeClass.h" + + + +using namespace Herwig; + +ScalarAmplitude::ScalarAmplitude() {} + +// The following static variable is needed for the type +// description system in ThePEG. +DescribeAbstractNoPIOClass<ScalarAmplitude,Interfaced> +describeHerwigScalarAmplitude("Herwig::ScalarAmplitude", "Herwig.so"); + +void ScalarAmplitude::Init() { + + static ClassDocumentation<ScalarAmplitude> documentation + ("Base class for the implementation of scalar amplitudes"); + +} + diff --git a/Decay/FormFactors/ScalarAmplitude.fh b/Decay/FormFactors/ScalarAmplitude.fh new file mode 100644 --- /dev/null +++ b/Decay/FormFactors/ScalarAmplitude.fh @@ -0,0 +1,18 @@ +// -*- C++ -*- +// +// This is the forward declaration of the ScalarAmplitude class. +// +#ifndef Herwig_ScalarAmplitude_FH +#define Herwig_ScalarAmplitude_FH + +#include "ThePEG/Config/ThePEG.h" + +namespace Herwig { + +class ScalarAmplitude; + +ThePEG_DECLARE_POINTERS(Herwig::ScalarAmplitude,ScalarAmplitudePtr); + +} + +#endif diff --git a/Decay/FormFactors/ScalarAmplitude.h b/Decay/FormFactors/ScalarAmplitude.h new file mode 100644 --- /dev/null +++ b/Decay/FormFactors/ScalarAmplitude.h @@ -0,0 +1,52 @@ +// -*- C++ -*- +#ifndef Herwig_ScalarAmplitude_H +#define Herwig_ScalarAmplitude_H +// +// This is the declaration of the ScalarAmplitude class. +// + +#include "ScalarAmplitude.h" +#include "ThePEG/Interface/Interfaced.h" + +namespace Herwig { + +using namespace ThePEG; + +/** + * Base class for scalar amplitudes + * + * @see \ref ScalarAmplitudeInterfaces "The interfaces" + * defined for ScalarAmplitude. + */ +class ScalarAmplitude: public Interfaced { + +public: + + /** + * The default constructor. + */ + ScalarAmplitude(); + +public: + + /** + * The standard Init function used to initialize the interfaces. + * Called exactly once for each class by the class description system + * before the main function starts or + * when this class is dynamically loaded. + */ + static void Init(); + +private: + + /** + * The assignment operator is private and must never be called. + * In fact, it should not even be implemented. + */ + ScalarAmplitude & operator=(const ScalarAmplitude &) = delete; + +}; + +} + +#endif /* Herwig_ScalarAmplitude_H */ diff --git a/Decay/Makefile.am b/Decay/Makefile.am --- a/Decay/Makefile.am +++ b/Decay/Makefile.am @@ -1,253 +1,256 @@ SUBDIRS = FormFactors Tau Baryon VectorMeson HeavyMeson Perturbative \ WeakCurrents ScalarMeson TensorMeson Partonic General Radiation if HAVE_EVTGEN SUBDIRS += EvtGen endif noinst_LTLIBRARIES = libHwDecay.la libHwDecay_la_LIBADD = \ $(top_builddir)/PDT/libHwPDT.la nodist_libHwDecay_la_SOURCES = \ hwdecay__all.cc BUILT_SOURCES = hwdecay__all.cc CLEANFILES = hwdecay__all.cc hwdecay__all.cc : $(DIR_H_FILES) $(DIR_CC_FILES) Makefile @echo "Concatenating .cc files into $@" @$(top_srcdir)/cat_with_cpplines $(DIR_CC_FILES) > $@ EXTRA_DIST = $(ALL_H_FILES) $(ALL_CC_FILES) DIR_H_FILES = $(addprefix $(srcdir)/,$(ALL_H_FILES)) ALL_H_FILES = \ DecayIntegrator.fh DecayIntegrator.h \ PhaseSpaceMode.fh PhaseSpaceMode.h \ HwDecayerBase.fh HwDecayerBase.h \ HwDecayHandler.h \ DecayVertex.fh DecayVertex.h \ DecayMatrixElement.fh DecayMatrixElement.h \ TwoBodyDecayMatrixElement.h \ GeneralDecayMatrixElement.fh GeneralDecayMatrixElement.h \ BranchingRatioReweighter.h\ PerturbativeDecayer.h \ ResonanceHelpers.h PhaseSpaceChannel.h IsoSpin.h DIR_CC_FILES = $(addprefix $(srcdir)/,$(ALL_CC_FILES)) ALL_CC_FILES = \ DecayIntegrator.cc \ PhaseSpaceChannel.cc \ PhaseSpaceMode.cc \ HwDecayerBase.cc \ HwDecayHandler.cc \ DecayVertex.cc \ DecayMatrixElement.cc \ TwoBodyDecayMatrixElement.cc \ GeneralDecayMatrixElement.cc \ BranchingRatioReweighter.cc\ PerturbativeDecayer.cc ################## pkglib_LTLIBRARIES = Hw64Decay.la Hw64Decay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 11:0:0 Hw64Decay_la_SOURCES = \ Hw64Decayer.h Hw64Decayer.cc ################## pkglib_LTLIBRARIES += HwMamboDecay.la HwMamboDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 12:0:0 HwMamboDecay_la_SOURCES = \ MamboDecayer.h MamboDecayer.cc ################## noinst_LTLIBRARIES += libHwFormFactor.la libHwFormFactor_la_SOURCES = \ FormFactors/BaryonFormFactor.cc \ FormFactors/ScalarFormFactor.cc \ FormFactors/BtoSGammaHadronicMass.cc \ FormFactors/KMatrix.cc \ +FormFactors/ScalarAmplitude.cc \ FormFactors/BaryonFormFactor.fh \ FormFactors/BaryonFormFactor.h \ FormFactors/ScalarFormFactor.fh \ FormFactors/ScalarFormFactor.h \ FormFactors/BtoSGammaHadronicMass.h \ FormFactors/BtoSGammaHadronicMass.fh \ FormFactors/KMatrix.h \ -FormFactors/KMatrix.fh +FormFactors/KMatrix.fh \ +FormFactors/ScalarAmplitude.h \ +FormFactors/ScalarAmplitude.fh pkglib_LTLIBRARIES += HwFormFactors.la HwFormFactors_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 12:0:0 HwFormFactors_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/FormFactors nodist_HwFormFactors_la_SOURCES = \ FormFactors/Formfactor__all.cc ################## pkglib_LTLIBRARIES += HwTauDecay.la HwTauDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 12:0:0 HwTauDecay_la_SOURCES = \ Tau/TauDecayer.cc ################## pkglib_LTLIBRARIES += HwBaryonDecay.la HwBaryonDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 11:0:0 HwBaryonDecay_la_LIBADD = \ $(top_builddir)/PDT/libHwBaryonWidth.la HwBaryonDecay_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/Baryon nodist_HwBaryonDecay_la_SOURCES = \ Baryon/BaryonDecayer__all.cc ################## pkglib_LTLIBRARIES += HwVMDecay.la HwVMDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 11:0:0 HwVMDecay_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/VectorMeson nodist_HwVMDecay_la_SOURCES = \ VectorMeson/VMDecayer__all.cc ################## pkglib_LTLIBRARIES += HwPerturbativeDecay.la HwPerturbativeDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 12:0:0 HwPerturbativeDecay_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/Perturbative nodist_HwPerturbativeDecay_la_SOURCES = \ Perturbative/Perturbative__all.cc ################## noinst_LTLIBRARIES += libHwWeakCurrent.la libHwWeakCurrent_la_SOURCES = \ WeakCurrents/WeakCurrent.cc \ WeakCurrents/LeptonNeutrinoCurrent.cc \ WeakCurrents/WeakCurrent.fh \ WeakCurrents/WeakCurrent.h \ WeakCurrents/LeptonNeutrinoCurrent.fh \ WeakCurrents/LeptonNeutrinoCurrent.h \ WeakCurrents/WeakBaryonCurrent.cc \ WeakCurrents/WeakBaryonCurrent.h pkglib_LTLIBRARIES += HwWeakCurrents.la HwWeakCurrents_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 12:0:0 HwWeakCurrents_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/WeakCurrents nodist_HwWeakCurrents_la_SOURCES = \ WeakCurrents/WeakCurrents__all.cc ################## pkglib_LTLIBRARIES += HwHMDecay.la HwHMDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 11:0:0 HwHMDecay_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/HeavyMeson nodist_HwHMDecay_la_SOURCES = \ HeavyMeson/HMDecayer__all.cc ################## pkglib_LTLIBRARIES += HwSMDecay.la HwSMDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 13:0:0 HwSMDecay_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/ScalarMeson nodist_HwSMDecay_la_SOURCES = \ ScalarMeson/SMDecayer__all.cc ################## pkglib_LTLIBRARIES += HwTMDecay.la HwTMDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 11:0:0 HwTMDecay_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/TensorMeson nodist_HwTMDecay_la_SOURCES = \ TensorMeson/TMDecayer__all.cc ################## pkglib_LTLIBRARIES += HwPartonicDecay.la HwPartonicDecay_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 12:0:0 HwPartonicDecay_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/Partonic nodist_HwPartonicDecay_la_SOURCES = \ Partonic/Partonic__all.cc ################## noinst_LTLIBRARIES += libHwDecRad.la libHwDecRad_la_SOURCES = \ Radiation/DecayRadiationGenerator.cc \ Radiation/QEDRadiationHandler.cc \ Radiation/DecayRadiationGenerator.h \ Radiation/DecayRadiationGenerator.fh \ Radiation/QEDRadiationHandler.fh \ Radiation/QEDRadiationHandler.h pkglib_LTLIBRARIES += HwSOPHTY.la HwSOPHTY_la_LDFLAGS = \ $(AM_LDFLAGS) -module -version-info 6:0:0 HwSOPHTY_la_CPPFLAGS = \ $(AM_CPPFLAGS) -I$(srcdir)/Radiation nodist_HwSOPHTY_la_SOURCES = \ Radiation/Sophty__all.cc ##################