Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F8310152
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
View Options
diff --git a/Models/Susy/SSGSGSGVertex.cc b/Models/Susy/SSGSGSGVertex.cc
--- a/Models/Susy/SSGSGSGVertex.cc
+++ b/Models/Susy/SSGSGSGVertex.cc
@@ -1,69 +1,58 @@
// -*- C++ -*-
//
// SSGSGSGVertex.cc is a part of Herwig++ - A multi-purpose Monte Carlo event generator
// Copyright (C) 2002-2011 The Herwig Collaboration
//
// Herwig++ is licenced 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 SSGSGSGVertex class.
//
#include "SSGSGSGVertex.h"
#include "ThePEG/Utilities/DescribeClass.h"
#include "ThePEG/Interface/ClassDocumentation.h"
+#include "ThePEG/Utilities/DescribeClass.h"
#include "ThePEG/Persistency/PersistentOStream.h"
#include "ThePEG/Persistency/PersistentIStream.h"
#include "ThePEG/PDT/EnumParticles.h"
using namespace ThePEG::Helicity;
using namespace Herwig;
SSGSGSGVertex::SSGSGSGVertex() : _couplast(0.),_q2last(ZERO) {
orderInGs(1);
orderInGem(0);
}
// Static variable needed for the type description system in ThePEG.
DescribeNoPIOClass<SSGSGSGVertex,FFVVertex>
describeHerwigSSGSGSGVertex("Herwig::SSGSGSGVertex", "HwSusy.so");
void SSGSGSGVertex::Init() {
static ClassDocumentation<SSGSGSGVertex> documentation
("This class implements the gluon-gluino-gluino vertex");
}
void SSGSGSGVertex::setCoupling(Energy2 q2,tcPDPtr part1,
tcPDPtr part2,tcPDPtr part3) {
- if((part1->id() == ParticleID::g && part2->id() == ParticleID::SUSY_g &&
- part3->id() == ParticleID::SUSY_g) ||
- (part2->id() == ParticleID::g && part1->id() == ParticleID::SUSY_g &&
- part3->id() == ParticleID::SUSY_g) ||
- (part3->id() == ParticleID::g && part1->id() == ParticleID::SUSY_g &&
- part2->id() == ParticleID::SUSY_g)) {
- if(q2 != _q2last || _couplast==0.) {
- _couplast = strongCoupling(q2);
- _q2last = q2;
- }
- norm(_couplast);
- left(1.);right(1.);
+ assert(part1->id()==ParticleID::SUSY_g &&
+ part2->id()==ParticleID::SUSY_g &&
+ part3->id() == ParticleID::g);
+ if(q2 != _q2last || _couplast==0.) {
+ _couplast = strongCoupling(q2);
+ _q2last = q2;
}
- else {
- throw HelicityConsistencyError()
- << "SSGSGSGVertex::setCoupling() - Incorrect particle found. "
- << part1->id() << " " << part2->id()
- << " " << part3->id()
- << Exception::warning;
- norm(0.);
- left(0.); right(0);
- }
+ norm(_couplast);
+ left(1.);
+ right(1.);
}
void SSGSGSGVertex::doinit() {
addToList(1000021, 1000021, 21);
FFVVertex::doinit();
}
diff --git a/Models/Susy/SSGSGSGVertex.h b/Models/Susy/SSGSGSGVertex.h
--- a/Models/Susy/SSGSGSGVertex.h
+++ b/Models/Susy/SSGSGSGVertex.h
@@ -1,107 +1,106 @@
// -*- C++ -*-
//
// SSGSGSGVertex.h is a part of Herwig++ - A multi-purpose Monte Carlo event generator
// Copyright (C) 2002-2011 The Herwig Collaboration
//
// Herwig++ is licenced under version 2 of the GPL, see COPYING for details.
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
//
#ifndef HERWIG_SSGSGSGVertex_H
#define HERWIG_SSGSGSGVertex_H
//
// This is the declaration of the SSGSGSGVertex class.
//
#include "ThePEG/Helicity/Vertex/Vector/FFVVertex.h"
#include "SusyBase.h"
namespace Herwig {
using namespace ThePEG;
/**
* This class implements the g-\f$\tilde{g}\f$-\f$\tilde{g}\f$ vertex. It
* inherits from FFVVertex and implements the setCoupling virtual method.
*
* @see FFVVertex
*/
class SSGSGSGVertex: public FFVVertex {
public:
/**
* The default constructor.
*/
SSGSGSGVertex();
/**
* 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();
/**
* Calculate the couplings.
* @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
* @param part1 The ParticleData pointer for the first particle.
* @param part2 The ParticleData pointer for the second particle.
* @param part3 The ParticleData pointer for the third particle.
*/
virtual void setCoupling(Energy2 q2,tcPDPtr part1,
tcPDPtr part2,tcPDPtr part3);
protected:
/** @name Clone Methods. */
//@{
/**
* Make a simple clone of this object.
* @return a pointer to the new object.
*/
virtual IBPtr clone() const {return new_ptr(*this);}
/** 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 {return new_ptr(*this);}
//@}
-
protected:
/** @name Standard Interfaced functions. */
//@{
/**
* Initialize this object after the setup phase before saving an
* EventGenerator to disk.
* @throws InitException if object could not be initialized properly.
*/
virtual void doinit();
//@}
private:
/**
* The assignment operator is private and must never be called.
* In fact, it should not even be implemented.
*/
SSGSGSGVertex & operator=(const SSGSGSGVertex &);
private:
/**
* The value of the coupling when last evaluated
*/
Complex _couplast;
/**
* The scale at which the coupling was last evaluated
*/
Energy2 _q2last;
};
}
#endif /* HERWIG_SSGSGSGVertex_H */
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Dec 21, 5:31 PM (9 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4023648
Default Alt Text
(5 KB)
Attached To
rHERWIGHG herwighg
Event Timeline
Log In to Comment