thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDT
MixedParticleData.h
1
// -*- C++ -*-
2
#ifndef THEPEG_MixedParticleData_H
3
#define THEPEG_MixedParticleData_H
4
//
5
// This is the declaration of the MixedParticleData class.
6
//
7
8
#include "ParticleData.h"
9
#include "MixedParticleData.fh"
10
11
namespace
ThePEG
{
12
50
class
MixedParticleData
:
public
ParticleData
{
51
52
public
:
53
57
MixedParticleData
() :
ParticleData
(),
_deltam
(0.*GeV),
58
_deltagamma
(0.*GeV),
_pqmag
(1.),
_pqphase
(0.),
59
_pq
(1.,0.),
_zmag
(0.),
_zphase
(0.),
_z
(0.),
_x
(0.),
_y
(0.),
60
_prob
(make_pair(1.,0.))
61
{}
62
69
static
PDPtr
Create
(
long
newId,
string
newPDGName);
70
74
static
PDPair
Create
(
long
newId,
string
newPDGName,
string
newAntiPDGName);
76
77
public
:
78
86
Energy
deltaM
()
const
{
return
_deltam
;}
87
91
Energy
deltaGamma
()
const
{
return
_deltagamma
;}
92
96
Complex
pq
()
const
{
return
_pq
;}
97
101
Complex
z
()
const
{
return
_z
;}
102
106
double
x
()
const
{
return
_x
;}
107
111
double
y
()
const
{
return
_y
;}
112
116
pair<double,double>
prob
()
const
{
return
_prob
;}
117
122
pair<bool,Length>
generateLifeTime
()
const
;
123
127
pair<Complex,Complex>
mixingAmplitudes
(
Length
,
bool
)
const
;
128
129
public
:
130
137
void
persistentOutput
(
PersistentOStream
& os)
const
;
138
144
void
persistentInput
(
PersistentIStream
& is,
int
version);
146
153
static
void
Init
();
154
155
protected
:
156
161
MixedParticleData
(
long
newId,
string
newPDGName);
162
166
virtual
PDPtr
pdclone
()
const
;
167
168
protected
:
169
177
virtual
void
doinit
();
179
180
private
:
181
185
void
setDeltaM
(
Energy
);
186
190
void
setDeltaGamma
(
Energy
);
191
195
void
setPQMagnitude
(
double
);
196
200
void
setPQPhase
(
double
);
201
205
void
setZMagnitude
(
double
);
206
210
void
setZPhase
(
double
);
211
212
private
:
213
218
static
ClassDescription<MixedParticleData>
initMixedParticleData
;
219
224
MixedParticleData
&
operator=
(
const
MixedParticleData
&) =
delete
;
225
226
private
:
227
235
Energy
_deltam
;
236
240
Energy
_deltagamma
;
241
245
double
_pqmag
;
246
250
double
_pqphase
;
251
255
Complex
_pq
;
256
260
double
_zmag
;
261
265
double
_zphase
;
266
270
Complex
_z
;
271
275
double
_x
;
276
280
double
_y
;
281
285
pair<double,double>
_prob
;
287
288
};
289
290
}
291
292
#include "ThePEG/Utilities/ClassTraits.h"
293
294
namespace
ThePEG
{
295
300
template
<>
301
struct
BaseClassTrait<MixedParticleData,1> {
303
typedef
ParticleData
NthBase
;
304
};
305
308
template
<>
309
struct
ClassTraits<MixedParticleData>
310
:
public
ClassTraitsBase<MixedParticleData> {
312
static
string
className
() {
return
"ThePEG::MixedParticleData"
; }
313
};
314
317
}
318
319
#endif
/* THEPEG_MixedParticleData_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::MixedParticleData
The MixedParticleData class is designed to store the particle data for particles which undergo mixing...
Definition:
MixedParticleData.h:50
ThePEG::MixedParticleData::setZMagnitude
void setZMagnitude(double)
Function for the interface to set the magnitude of z.
ThePEG::MixedParticleData::setPQMagnitude
void setPQMagnitude(double)
Function for the interface to set the magnitude of p/q.
ThePEG::MixedParticleData::setDeltaGamma
void setDeltaGamma(Energy)
Function for the interface to set the width difference.
ThePEG::MixedParticleData::_prob
pair< double, double > _prob
The time-integrated mixing probabilities.
Definition:
MixedParticleData.h:285
ThePEG::MixedParticleData::Create
static PDPtr Create(long newId, string newPDGName)
Create a Particle which is its own anti-particle.
ThePEG::MixedParticleData::Create
static PDPair Create(long newId, string newPDGName, string newAntiPDGName)
Create a particle - anti particle pair.
ThePEG::MixedParticleData::operator=
MixedParticleData & operator=(const MixedParticleData &)=delete
The assignment operator is private and must never be called.
ThePEG::MixedParticleData::setDeltaM
void setDeltaM(Energy)
Function for the interface to set the mass difference.
ThePEG::MixedParticleData::initMixedParticleData
static ClassDescription< MixedParticleData > initMixedParticleData
The static object used to initialize the description of this class.
Definition:
MixedParticleData.h:218
ThePEG::MixedParticleData::y
double y() const
the mixing variable
Definition:
MixedParticleData.h:111
ThePEG::MixedParticleData::pdclone
virtual PDPtr pdclone() const
ParticleData clone method.
ThePEG::MixedParticleData::setPQPhase
void setPQPhase(double)
Function for the interface to set the phase of p/q.
ThePEG::MixedParticleData::_zphase
double _zphase
The phase of .
Definition:
MixedParticleData.h:265
ThePEG::MixedParticleData::deltaM
Energy deltaM() const
Mixing parameters.
Definition:
MixedParticleData.h:86
ThePEG::MixedParticleData::deltaGamma
Energy deltaGamma() const
The width difference.
Definition:
MixedParticleData.h:91
ThePEG::MixedParticleData::x
double x() const
The mixing variable.
Definition:
MixedParticleData.h:106
ThePEG::MixedParticleData::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::MixedParticleData::_pqmag
double _pqmag
The magnitude of .
Definition:
MixedParticleData.h:245
ThePEG::MixedParticleData::_deltagamma
Energy _deltagamma
The width difference.
Definition:
MixedParticleData.h:240
ThePEG::MixedParticleData::_z
Complex _z
The parameter.
Definition:
MixedParticleData.h:270
ThePEG::MixedParticleData::setZPhase
void setZPhase(double)
Function for the interface to set the phase of z.
ThePEG::MixedParticleData::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::MixedParticleData::generateLifeTime
pair< bool, Length > generateLifeTime() const
For a given paricle decide is it undergoes mixing and generate the lifetime.
ThePEG::MixedParticleData::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::MixedParticleData::MixedParticleData
MixedParticleData(long newId, string newPDGName)
Protected constructor only to be used by subclasses or by the Create method.
ThePEG::MixedParticleData::_x
double _x
The mixing variable.
Definition:
MixedParticleData.h:275
ThePEG::MixedParticleData::_y
double _y
the mixing variable
Definition:
MixedParticleData.h:280
ThePEG::MixedParticleData::_zmag
double _zmag
The magnitude of .
Definition:
MixedParticleData.h:260
ThePEG::MixedParticleData::MixedParticleData
MixedParticleData()
The default constructor.
Definition:
MixedParticleData.h:57
ThePEG::MixedParticleData::pq
Complex pq() const
Definition:
MixedParticleData.h:96
ThePEG::MixedParticleData::z
Complex z() const
Definition:
MixedParticleData.h:101
ThePEG::MixedParticleData::_deltam
Energy _deltam
Mixing parameters.
Definition:
MixedParticleData.h:235
ThePEG::MixedParticleData::mixingAmplitudes
pair< Complex, Complex > mixingAmplitudes(Length, bool) const
The amplitudes for the different states.
ThePEG::MixedParticleData::prob
pair< double, double > prob() const
The time-integrated mixing probabilities.
Definition:
MixedParticleData.h:116
ThePEG::MixedParticleData::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::MixedParticleData::_pq
Complex _pq
Definition:
MixedParticleData.h:255
ThePEG::MixedParticleData::_pqphase
double _pqphase
The phase of .
Definition:
MixedParticleData.h:250
ThePEG::ParticleData
ParticleData inherits from InterfacedBase and represents the properties of a particle type.
Definition:
ParticleData.h:36
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Qty< 0, 1, 0 >
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::Complex
std::complex< double > Complex
ThePEG code should use Complex for all complex scalars.
Definition:
Complex.h:23
ThePEG::PDPair
pair< PDPtr, PDPtr > PDPair
A pair of pointers to ParticleData objects.
Definition:
Containers.h:115
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6