Page MenuHomeHEPForge

No OneTemporary

diff --git a/Makefile.am b/Makefile.am
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,12 +1,8 @@
SUBDIRS = \
include \
Core \
Test \
Examples
-if HAVE_MATCHBOX
-SUBDIRS += Matchbox
-endif
-
ACLOCAL_AMFLAGS = -I m4
diff --git a/Matchbox/Makefile.am b/Matchbox/Makefile.am
deleted file mode 100644
--- a/Matchbox/Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
-pkglib_LTLIBRARIES = MatchboxTraceBasis.la
-MatchboxTraceBasis_la_LDFLAGS = -module -version-info 1:0:0
-
-MatchboxTraceBasis_la_LIBADD = \
-$(top_builddir)/Core/libColorFull.la $(MATCHBOXLDFLAGS) $(MATCHBOXLDLIBS)
-
-MatchboxTraceBasis_la_CPPFLAGS = $(AM_CPPFLAGS)
-MatchboxTraceBasis_la_CPPFLAGS += $(MATCHBOXCPPFLAGS)
-
-MatchboxTraceBasis_la_SOURCES = \
-TraceBasis.h \
-TraceBasis.cc
diff --git a/Matchbox/TraceBasis.cc b/Matchbox/TraceBasis.cc
deleted file mode 100644
--- a/Matchbox/TraceBasis.cc
+++ /dev/null
@@ -1,261 +0,0 @@
-// -*- C++ -*-
-//
-// TraceBasis.cc is a part of ColorFull
-// Copyright (C) 2010-2011 Simon Platzer & Malin Sjodahl
-//
-// ColorFull is licensed under version 2 of the GPL, see COPYING for details.
-// Please respect the MCnet academic guidelines, see GUIDELINES for details.
-//
-//
-// This is the implementation of the non-inlined, non-templated member
-// functions of the TraceBasis class.
-//
-
-#include "TraceBasis.h"
-#include "ThePEG/Interface/ClassDocumentation.h"
-#include "ThePEG/Interface/Switch.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 ColorFull;
-
-TraceBasis::TraceBasis()
- : theLargeN(false) {}
-
-TraceBasis::~TraceBasis() {}
-
-IBPtr TraceBasis::clone() const {
- return new_ptr(*this);
-}
-
-IBPtr TraceBasis::fullclone() const {
- return new_ptr(*this);
-}
-
-map<size_t,vector<vector<size_t> > >
-TraceBasis::basisList(const vector<PDT::Colour>& basisId) const {
-
- map<vector<PDT::Colour>,Trace_basis>::const_iterator bit =
- theBasisMap.find(basisId);
-
- map<size_t,vector<vector<size_t> > > res;
-
- const col_basis& cb = bit->second.cb;
-
- for ( size_t i = 0; i < cb.size(); ++i ) {
-
- vector<vector<size_t> > cstr;
-
- const Col_str& cs = cb.at(i).at(0);
-
- for ( size_t j = 0; j < cs.size(); ++j ) {
-
- const Quark_line& ql = cs.at(j);
- vector<size_t> qline;
-
- for ( size_t k = 0; k < ql.size(); ++k )
- qline.push_back(ql.at(k)-1);
-
- cstr.push_back(qline);
-
- }
-
- res[i] = cstr;
-
- }
-
- return res;
-
-}
-
-size_t TraceBasis::prepareBasis(const vector<PDT::Colour>& sub) {
-
- vector<PDT::Colour> mySub = normalOrder(sub);
-
- if ( theBasisMap.find(mySub) == theBasisMap.end() ) {
-
- int ng = count_if(mySub.begin(),mySub.end(),ColourBasis::matchRep(PDT::Colour8));
- int nq = (mySub.size() - ng)/2;
-
- Trace_basis basis;
- basis.create_basis(nq,ng);
- theBasisMap[mySub] = basis;
-
- }
-
- return theBasisMap[mySub].size();
-
-}
-
-void TraceBasis::readBasisDetails(const vector<PDT::Colour>& sub) {
- prepareBasis(sub);
-}
-
-double TraceBasis::scalarProduct(size_t i, size_t j,
- const vector<PDT::Colour>& abBasis) const {
-
- if ( theLargeN && i != j )
- return 0.;
-
- map<vector<PDT::Colour>,Trace_basis>::const_iterator bit =
- theBasisMap.find(abBasis);
-
- assert(bit != theBasisMap.end());
-
- const Trace_basis& Basis = bit->second;
- Col_str csi = Basis.cb.at(i).at(0);
- Col_str csj = Basis.cb.at(j).at(0);
-
- // Rename indices, and make string of new Col_strs, to use in map
- //pair<Col_str, Col_str> Css_new = Basis.rename_indices(csi,csj);
- Basis.rename_indices(csi,csj);
- Col_str Cs1 = csi;
- Col_str Cs2 = csj;
- ostringstream Cs_string;
- Cs_string << Cs1 << Cs2;
-
- map<string,Polynomial>::iterator pit = theScalarProducts.find(Cs_string.str());
-
- // Add result to map
- if ( pit == theScalarProducts.end() ) {
- Polynomial p; // to contain result
- // In the case of both quarks and gluons
- if ( Basis.nq != 0 ) {
- p = colorFunctions.scalar_product(Cs1, Cs2);
- }
- // For gluons with implicitly added topology
- // In the case of only gluons the conjugated topology is needed as well
- // Note that the full result is saved in the local map
- else {
- unsigned int Ng = Basis.ng;
- int sign = (Ng % 2 ? -1 : 1);
- Col_str Cs2_conj=Cs2;
- Cs2_conj.conjugate();
- p = 2 * colorFunctions.scalar_product(Cs1, Cs2) +
- 2 * sign * colorFunctions.scalar_product(Cs1, Cs2_conj);
- p.simplify();
- }
- theScalarProducts.insert(make_pair(Cs_string.str(), p));
- pit = theScalarProducts.find(Cs_string.str());
- }
-
- return
- theLargeN ?
- colorFunctions.double_num(colorFunctions.leading(pit->second)) :
- colorFunctions.double_num(pit->second);
-
-}
-
-double TraceBasis::tMatrixElement(size_t m, size_t i, size_t j,
- const vector<PDT::Colour>& aBasis,
- const vector<PDT::Colour>& bBasis) const {
-
- ++m;
-
- map<vector<PDT::Colour>,Trace_basis>::iterator ait =
- theBasisMap.find(aBasis);
-
-
- map<vector<PDT::Colour>,Trace_basis>::const_iterator bit =
- theBasisMap.find(bBasis);
-
- assert(bit != theBasisMap.end());
- assert(ait != theBasisMap.end());
-
-
- Trace_basis& ABasis = ait->second;
- const Trace_basis& BBasis = bit->second;
-
- pair<int,int> newNumbers = ABasis.new_vector_numbers(BBasis.cb.at(j).at(0),m);
-
- if ( newNumbers.first == i )
- return 1.;
-
- if ( newNumbers.second == i )
- return -1.;
-
- return 0.;
-
-}
-
-bool TraceBasis::colourConnected(const cPDVector& sub,
- const vector<PDT::Colour>& basisId,
- const pair<int,bool>& first,
- const pair<int,bool>& second,
- size_t tensor) const {
-
- // get the basis
- map<vector<PDT::Colour>,Trace_basis>::const_iterator bit =
- theBasisMap.find(basisId);
- assert(bit != theBasisMap.end());
- const Trace_basis& basis = bit->second;
-
- // translate process to basis ids
- map<cPDVector,map<size_t,size_t> >::const_iterator trans
- = indexMap().find(sub);
- assert(trans != indexMap().end());
-
- int idColoured = first.second ? second.first : first.first;
- idColoured = trans->second.find(idColoured)->second;
- ++idColoured;
- int idAntiColoured = first.second ? first.first : second.first;
- idAntiColoured = trans->second.find(idAntiColoured)->second;
- ++idAntiColoured;
-
- const Col_str& cs = basis.cb.at(tensor).at(0);
-
- return cs.left_neighbor(idAntiColoured,idColoured);
-
-}
-
-// If needed, insert default implementations of virtual function defined
-// in the InterfacedBase class here (using ThePEG-interfaced-impl in Emacs).
-
-
-void TraceBasis::persistentOutput(PersistentOStream & os) const {
- os << theLargeN;
-}
-
-void TraceBasis::persistentInput(PersistentIStream & is , int) {
- // TODO add istream to Trace_basisl
- is >> theLargeN;
-}
-
-
-// *** 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<TraceBasis,Herwig::ColourBasis>
- describeTraceBasis("ColorFull::TraceBasis",
- "MatchboxTraceBasis.so");
-
-void TraceBasis::Init() {
-
- static ClassDocumentation<TraceBasis> documentation
- ("TraceBasis implements the trace colour basis.");
-
-
- static Switch<TraceBasis,bool> interfaceLargeN
- ("LargeN",
- "Switch on or off large-N evaluation.",
- &TraceBasis::theLargeN, false, false, false);
- static SwitchOption interfaceLargeNOn
- (interfaceLargeN,
- "On",
- "Work in N=infinity",
- true);
- static SwitchOption interfaceLargeNOff
- (interfaceLargeN,
- "Off",
- "Work in N=3",
- false);
-
-}
-
diff --git a/Matchbox/TraceBasis.h b/Matchbox/TraceBasis.h
deleted file mode 100644
--- a/Matchbox/TraceBasis.h
+++ /dev/null
@@ -1,184 +0,0 @@
-// -*- C++ -*-
-//
-// TraceBasis.h is a part of ColorFull
-// Copyright (C) 2010-2014 Simon Platzer & Malin Sjodahl
-//
-// ColorFull is licensed under version 2 of the GPL, see COPYING for details.
-// Please respect the MCnet academic guidelines, see GUIDELINES for details.
-//
-#ifndef COLORFULL_TraceBasis_H
-#define COLORFULL_TraceBasis_H
-//
-// This is the declaration of the TraceBasis class.
-//
-
-#include "Herwig++/MatrixElement/Matchbox/Utility/ColourBasis.h"
-#include "ColorFull/Core/Trace_basis.h"
-
-namespace ColorFull {
-
-using namespace ThePEG;
-using namespace Herwig;
-
-/**
- * TraceBasis implements the trace colour basis.
- *
- * @see \ref TraceBasisInterfaces "The interfaces"
- * defined for TraceBasis.
- */
-class TraceBasis: public Herwig::ColourBasis {
-
-public:
-
- /** @name Standard constructors and destructors. */
- //@{
- /**
- * The default constructor.
- */
- TraceBasis();
-
- /**
- * The destructor.
- */
- virtual ~TraceBasis();
- //@}
-
-public:
-
- /**
- * Return a map of basis tensor indices to vectors identifying a
- * certain ordering corresponding to the given colour structure. May
- * not be supported by all colour basis implementations.
- */
- virtual map<size_t,vector<vector<size_t> > > basisList(const vector<PDT::Colour>&) const;
-
- /**
- * Prepare the basis for the normal ordered legs and return the
- * dimensionality of the basis.
- */
- virtual size_t prepareBasis(const vector<PDT::Colour>&);
-
- /**
- * Gather any implementation dependend details when reading a basis
- */
- virtual void readBasisDetails(const vector<PDT::Colour>&);
-
- /**
- * Return the scalar product of basis tensors labelled a and b in
- * the basis used for the given normal ordered legs.
- */
- virtual double scalarProduct(size_t a, size_t b,
- const vector<PDT::Colour>& abBasis) const;
-
- /**
- * Return the matrix element of a colour charge
- * <c_{n+1,a}|T_i|c_{n,b}> between basis tensors a and b, with
- * respect to aBasis and bBasis
- */
- virtual double tMatrixElement(size_t i, size_t a, size_t b,
- const vector<PDT::Colour>& aBasis,
- const vector<PDT::Colour>& bBasis) const;
-
- /**
- * Return true, if we're running in large-N mode
- */
- virtual bool largeN() const { return theLargeN; }
-
- /**
- * Return true, if the colour basis is capable of assigning colour
- * flows.
- */
- virtual bool haveColourFlows() const { return true; }
-
- /**
- * Return true, if a large-N colour connection exists for the
- * given external legs and basis tensor.
- */
- virtual bool colourConnected(const cPDVector&,
- const vector<PDT::Colour>&,
- const pair<int,bool>&,
- const pair<int,bool>&,
- size_t) const;
-
-public:
-
- /** @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 color functions object to be used
- */
- mutable Col_functions colorFunctions;
-
- /**
- * True, if large-N limit is on.
- */
- bool theLargeN;
-
- /**
- * Map legs to known basis vectors.
- */
- mutable map<vector<PDT::Colour>,Trace_basis> theBasisMap;
-
- /**
- * Memorize scalar product intermediate results.
- */
- mutable map<string,Polynomial> theScalarProducts;
-
-private:
-
- /**
- * The assignment operator is private and must never be called.
- * In fact, it should not even be implemented.
- */
- TraceBasis & operator=(const TraceBasis &);
-
-};
-
-}
-
-#endif /* COLORFULL_TraceBasis_H */
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1,37 +1,34 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.59])
AC_INIT([ColorFull],[hg],[malin.sjodahl@thep.lu.se],[ColorFull])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR(["m4/$PACKAGE_TARNAME.m4"])
AC_CANONICAL_HOST
AC_LANG([C++])
AM_INIT_AUTOMAKE([1.9 gnu dist-bzip2 -Wall])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
dnl Checks for programs.
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_LN_S
AM_PROG_AR
AC_DISABLE_STATIC
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
AM_CPPFLAGS="-I\$(top_builddir)/include"
AC_SUBST(AM_CPPFLAGS)
-COLORFULL_CHECK_MATCHBOX
-
AC_CONFIG_FILES([Core/Makefile
- Matchbox/Makefile
Examples/Makefile
Test/Makefile
include/Makefile
Makefile])
AC_OUTPUT
diff --git a/m4/ColorFull.m4 b/m4/ColorFull.m4
--- a/m4/ColorFull.m4
+++ b/m4/ColorFull.m4
@@ -1,34 +0,0 @@
-dnl --- check for Herwig++ --
-AC_DEFUN([COLORFULL_CHECK_MATCHBOX],
-[
-defaultlocation="${prefix}"
-test "x$defaultlocation" = xNONE && defaultlocation="${ac_default_prefix}"
-AC_MSG_CHECKING([for Matchbox/Matchbox in])
-AC_ARG_WITH(matchbox,
- AC_HELP_STRING([--with-matchbox=DIR],[location of Matchbox installation]),
- [],
- [with_matchbox=no])
-AC_MSG_RESULT([$with_matchbox])
-
-AS_IF([test "x$with_matchbox" != "xno"],
- [AC_CHECK_FILES(
- ${with_matchbox}/bin/herwig-config,
- [have_matchbox=yes], [have_matchbox=no])],
- [have_matchbox=no])
-
-AS_IF([test "x$have_matchbox" = "xyes"],
- [MATCHBOXCPPFLAGS=`${with_matchbox}/bin/herwig-config --cppflags`
- MATCHBOXLDFLAGS=`${with_matchbox}/bin/herwig-config --ldflags`
- MATCHBOXLDLIBS=`${with_matchbox}/bin/herwig-config --ldlibs`
- AC_SUBST(MATCHBOXCPPFLAGS)
- AC_SUBST(MATCHBOXLDFLAGS)
- AC_SUBST(MATCHBOXLDLIBS)
- ],
- [AS_IF([test "x$with_matchbox" != "xno"],
- [AC_MSG_ERROR([Matchbox build requested but Matchbox has not been detected.])
- ])
- ])
-AM_CONDITIONAL(HAVE_MATCHBOX,[test "x$have_matchbox" = "xyes"])
-])
-
-

File Metadata

Mime Type
text/x-diff
Expires
Tue, Nov 19, 7:06 PM (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3805762
Default Alt Text
(14 KB)

Event Timeline