thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
OmegaPhi3PiDecayer.h
1// -*- C++ -*-
2//
3// OmegaPhi3PiDecayer.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_OmegaPhi3PiDecayer_H
10#define THEPEG_OmegaPhi3PiDecayer_H
11// This is the declaration of the OmegaPhi3PiDecayer class.
12
13#include "ThePEG/PDT/FlatDecayer.h"
14
15namespace ThePEG {
16
30
31public:
32
40
41public:
42
52 virtual bool accept(const DecayMode & dm) const;
53
65 virtual double reweight(const DecayMode & dm, const Particle & parent,
66 const ParticleVector & children) const;
68
69public:
70
71
79
85 void persistentInput(PersistentIStream & is, int version);
87
91 static void Init();
92
93protected:
94
95
96protected:
97
104 virtual IBPtr clone() const;
105
110 virtual IBPtr fullclone() const;
112
113private:
114
119 double margin;
120
121private:
122
127
132
133};
134
135}
136
137
138namespace ThePEG {
139
144template <>
145struct BaseClassTrait<OmegaPhi3PiDecayer,1>: public ClassTraitsType {
147 typedef FlatDecayer NthBase;
148};
149
153template <>
154struct ClassTraits<OmegaPhi3PiDecayer>
155 : public ClassTraitsBase<OmegaPhi3PiDecayer> {
157 static string className() { return "ThePEG::OmegaPhi3PiDecayer"; }
161 static string library() { return "OmegaPhi3PiDecayer.so"; }
162};
163
166}
167
168#endif /* THEPEG_OmegaPhi3PiDecayer_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 FlatDecayer class inrerits from the abstract Decayer class and implements the decay of a given Pa...
Definition: FlatDecayer.h:33
The OmegaPhi3PiDecayer class inherits from performs FlatDecayer and will reweight the flat phase spac...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
OmegaPhi3PiDecayer & operator=(const OmegaPhi3PiDecayer &)=delete
Private and non-existent assignment operator.
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
static void Init()
Standard Init function used to initialize the interfaces.
virtual double reweight(const DecayMode &dm, const Particle &parent, const ParticleVector &children) const
Give a weight to a phase space point.
virtual IBPtr clone() const
Make a simple clone of this object.
double margin
Used to multiply the bare weight to get something below unity.
OmegaPhi3PiDecayer()
Default constructor.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static ClassDescription< OmegaPhi3PiDecayer > initOmegaPhi3PiDecayer
Describe a concrete class with persistent data.
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
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
vector< PPtr > ParticleVector
A vector of pointers to Particle objects.
Definition: Containers.h:73
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