thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
WeakToHadronsDecayer.h
1// -*- C++ -*-
2//
3// WeakToHadronsDecayer.h is a part of ThePEG - Toolkit for HEP Event Generation
4// Copyright (C) 1999-2019 Leif Lonnblad
5//
6// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef THEPEG_WeakToHadronsDecayer_H
10#define THEPEG_WeakToHadronsDecayer_H
11// This is the declaration of the WeakToHadronsDecayer class.
12
13#include "ThePEG/PDT/QuarksToHadronsDecayer.h"
14
15namespace ThePEG {
16
32
33public:
34
45 virtual bool accept(const DecayMode & dm) const;
46
52 virtual double reweight(const Particle & parent,
53 const PVector & children) const;
54
59 virtual PVector getHadrons(int Nh, tcPDVector quarks) const;
61
62public:
63
64
72
78 void persistentInput(PersistentIStream & is, int version);
80
84 static void Init();
85
86protected:
87
94 virtual IBPtr clone() const;
95
100 virtual IBPtr fullclone() const;
102
103private:
104
109
114
115};
116
117}
118
119
120namespace ThePEG {
121
126template <>
127struct BaseClassTrait<WeakToHadronsDecayer,1>: public ClassTraitsType {
129 typedef QuarksToHadronsDecayer NthBase;
130};
131
135template <>
136struct ClassTraits<WeakToHadronsDecayer>
137 : public ClassTraitsBase<WeakToHadronsDecayer> {
139 static string className() { return "ThePEG::WeakToHadronsDecayer"; }
143 static string library() { return "WeakToHadronsDecayer.so"; }
144};
145
148}
149
150#endif /* THEPEG_WeakToHadronsDecayer_H */
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
The DecayMode class describes a decay channel of a particle.
Definition: DecayMode.h:87
The Particle class is used to describe an instance of a particle.
Definition: Particle.h:83
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
The QuarksToHadronsDecayer class inherits from Decayer and is able to decay particles to (2 or 4) qu...
The WeakToHadronsDecayer class inherits from QuarksToHadronsDecayer and can performs weak decays of t...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual double reweight(const Particle &parent, const PVector &children) const
Called by QuarksToHadronsDecayer::distribute() to reweight the default flat phase spece.
static void Init()
Standard Init function used to initialize the interfaces.
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
static ClassDescription< WeakToHadronsDecayer > initWeakToHadronsDecayer
Describe a concrete class with persistent data.
virtual PVector getHadrons(int Nh, tcPDVector quarks) const
Produce Nh hadrons from the specified quarks.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
WeakToHadronsDecayer & operator=(const WeakToHadronsDecayer &)=delete
Private and non-existent assignment operator.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
vector< PPtr > PVector
A vector of pointers to Particle objects.
Definition: Containers.h:76
vector< tcPDPtr > tcPDVector
A vector of transient pointers to const ParticleData objects.
Definition: Containers.h:42
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85