Page MenuHomeHEPForge

No OneTemporary

diff --git a/src/MEee2Z2gg.cc b/src/MEee2Z2gg.cc
new file mode 100644
--- /dev/null
+++ b/src/MEee2Z2gg.cc
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//
+// This is the implementation of the non-inlined, non-templated member
+// functions of the MEee2Z2gg class.
+//
+
+#include "MEee2Z2gg.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"
+
+
+#include "ThePEG/Persistency/PersistentOStream.h"
+#include "ThePEG/Persistency/PersistentIStream.h"
+
+using namespace Ariadne5;
+
+MEee2Z2gg::MEee2Z2gg() {}
+
+MEee2Z2gg::~MEee2Z2gg() {}
+
+IBPtr MEee2Z2gg::clone() const {
+ return new_ptr(*this);
+}
+
+IBPtr MEee2Z2gg::fullclone() const {
+ return new_ptr(*this);
+}
+
+
+void MEee2Z2gg::getDiagrams() const {
+ tcPDPtr g = getParticleData(ParticleID::g);
+ tcPDPtr Z0 = getParticleData(ParticleID::Z0);
+ tcPDPtr ep = getParticleData(ParticleID::eplus);
+ tcPDPtr em = getParticleData(ParticleID::eminus);
+ add(new_ptr((Tree2toNDiagram(2), em, ep, 1, Z0, 3, g, 3, g, -1)));
+}
+
+Selector<MEee2gZ2qq::DiagramIndex>
+MEee2Z2gg::diagrams(const DiagramVector & diags) const {
+ Selector<DiagramIndex> sel;
+ sel insert(1.0, 0);
+ return sel;
+}
+
+Selector<const ColourLines *>
+MEee2Z2gg::colourGeometries(tcDiagPtr) const {
+
+ static ColourLines c("-5 4, -4 5");
+
+ Selector<const ColourLines *> sel;
+ sel.insert(1.0, &c);
+ return sel;
+}
+
+
+
+// If needed, insert default implementations of virtual function defined
+// in the InterfacedBase class here (using ThePEG-interfaced-impl in Emacs).
+
+
+void MEee2Z2gg::persistentOutput(PersistentOStream & os) const {
+ // *** ATTENTION *** os << ; // Add all member variable which should be written persistently here.
+}
+
+void MEee2Z2gg::persistentInput(PersistentIStream & is, int) {
+ // *** ATTENTION *** is >> ; // Add all member variable which should be read persistently here.
+}
+
+
+// *** Attention *** The following static variable is needed for the type
+// description system in ThePEG. Please check that the template arguments
+// are correct (the class and its base class), and that the constructor
+// arguments are correct (the class name and the name of the dynamically
+// loadable library where the class implementation can be found).
+DescribeClass<MEee2Z2gg,MEee2gZ2qq>
+ describeAriadne5MEee2Z2gg("Ariadne5::MEee2Z2gg", "MEee2Z2gg.so");
+
+void MEee2Z2gg::Init() {
+
+ static ClassDocumentation<MEee2Z2gg> documentation
+ ("The MEee2Z2gg class is just a hack to get purely gluonic "
+ "final states in e+e-.");
+
+}
+
diff --git a/src/MEee2Z2gg.h b/src/MEee2Z2gg.h
new file mode 100644
--- /dev/null
+++ b/src/MEee2Z2gg.h
@@ -0,0 +1,108 @@
+// -*- C++ -*-
+#ifndef Ariadne5_MEee2Z2gg_H
+#define Ariadne5_MEee2Z2gg_H
+//
+// This is the declaration of the MEee2Z2gg class.
+//
+
+#include "ThePEG/MatrixElement/MEee2gZ2qq.h"
+
+namespace Ariadne5 {
+
+using namespace ThePEG;
+
+/**
+ * The MEee2Z2gg class implements the same matrix element as e+e- to
+ * qqbar, but produces gluons instead. Only used for testing purposes
+ * of true gluon jets.
+ *
+ * @see \ref MEee2Z2ggInterfaces "The interfaces"
+ * defined for MEee2Z2gg.
+ */
+class MEee2Z2gg: public MEee2gZ2qq {
+
+public:
+
+ /** @name Standard constructors and destructors. */
+ //@{
+ /**
+ * The default constructor.
+ */
+ MEee2Z2gg();
+
+ /**
+ * The destructor.
+ */
+ virtual ~MEee2Z2gg();
+ //@}
+
+public:
+
+ /**
+ * Add all possible diagrams with the add() function.
+ */
+ virtual void getDiagrams() const;
+
+ Selector<MEee2gZ2qq::DiagramIndex> diagrams(const DiagramVector & diags) const;
+
+ Selector<const ColourLines *> MEee2Z2gg::colourGeometries(tcDiagPtr) const;
+
+ /** @name Functions used by the persistent I/O system. */
+ //@{
+ /**
+ * Function used to write out object persistently.
+ * @param os the persistent output stream written to.
+ */
+ void persistentOutput(PersistentOStream & os) const;
+
+ /**
+ * Function used to read in object persistently.
+ * @param is the persistent input stream read from.
+ * @param version the version number of the object when written.
+ */
+ void persistentInput(PersistentIStream & is, int version);
+ //@}
+
+ /**
+ * 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();
+
+protected:
+
+ /** @name Clone Methods. */
+ //@{
+ /**
+ * Make a simple clone of this object.
+ * @return a pointer to the new object.
+ */
+ virtual IBPtr clone() const;
+
+ /** Make a clone of this object, possibly modifying the cloned object
+ * to make it sane.
+ * @return a pointer to the new object.
+ */
+ virtual IBPtr fullclone() const;
+ //@}
+
+
+// If needed, insert declarations of virtual function defined in the
+// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
+
+
+private:
+
+ /**
+ * The assignment operator is private and must never be called.
+ * In fact, it should not even be implemented.
+ */
+ MEee2Z2gg & operator=(const MEee2Z2gg &);
+
+};
+
+}
+
+#endif /* Ariadne5_MEee2Z2gg_H */

File Metadata

Mime Type
text/x-diff
Expires
Sat, Dec 21, 6:24 PM (8 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4023790
Default Alt Text
(5 KB)

Event Timeline