thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
DummyDecayer.h
1// -*- C++ -*-
2//
3// DummyDecayer.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_DummyDecayer_H
10#define THEPEG_DummyDecayer_H
11// This is the declaration of the DummyDecayer class.
12
13#include "ThePEG/PDT/Decayer.h"
14
15namespace ThePEG {
16
25class DummyDecayer: public Decayer {
26
27public:
28
38 virtual bool accept(const DecayMode & dm) const;
39
47 virtual ParticleVector decay(const DecayMode & dm, const Particle & p) const;
48
53 virtual double brat(const DecayMode &,
54 const ParticleData &, double) const;
59 virtual double brat(const DecayMode &, const Particle &, double) const;
61
62public:
63
67 static void Init();
68
69protected:
70
71
72protected:
73
80 virtual IBPtr clone() const;
81
86 virtual IBPtr fullclone() const;
88
89private:
90
95
99 DummyDecayer & operator=(const DummyDecayer &) = delete;
100
101};
102
103}
104
105
106namespace ThePEG {
107
112template <>
113struct BaseClassTrait<DummyDecayer,1>: public ClassTraitsType {
115 typedef Decayer NthBase;
116};
117
120template <>
121struct ClassTraits<DummyDecayer>
122 : public ClassTraitsBase<DummyDecayer> {
124 static string className() { return "ThePEG::DummyDecayer"; }
125
126};
127
130}
131
132#endif /* THEPEG_DummyDecayer_H */
The DecayMode class describes a decay channel of a particle.
Definition: DecayMode.h:87
Decayer is an abstract base class to specify objects modelling the decay of a particle.
Definition: Decayer.h:29
DummyDecayer inherits from Decayer and is a dummy decayer class to be used for symbolic decay channel...
Definition: DummyDecayer.h:25
static NoPIOClassDescription< DummyDecayer > initDummyDecayer
Describe a concrete class without persistent data.
Definition: DummyDecayer.h:94
static void Init()
Standard Init function used to initialize the interfaces.
virtual ParticleVector decay(const DecayMode &dm, const Particle &p) const
Perform a decay for a given DecayMode and a given Particle instance.
virtual IBPtr clone() const
Make a simple clone of this object.
DummyDecayer & operator=(const DummyDecayer &)=delete
Private and non-existent assignment operator.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual double brat(const DecayMode &, const Particle &, double) const
Will always return zero, since no decay can ever be performed with this decayer.
virtual double brat(const DecayMode &, const ParticleData &, double) const
Will always return zero, since no decay can ever be performed with this decayer.
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
ParticleData inherits from InterfacedBase and represents the properties of a particle type.
Definition: ParticleData.h:36
The Particle class is used to describe an instance of a particle.
Definition: Particle.h:83
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