thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.2.1
PDT
ParticleData.h
1
// -*- C++ -*-
2
//
3
// ParticleData.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_ParticleData_H
10
#define ThePEG_ParticleData_H
11
// This is the declaration of the ParticleData class.
12
13
#include "
ThePEG/Config/ThePEG.h
"
14
#include "ThePEG/PDT/PDT.h"
15
#include "ThePEG/PDT/PID.h"
16
#include "
ThePEG/Vectors/LorentzVector.h
"
17
#include "
ThePEG/Vectors/ThreeVector.h
"
18
#include "ThePEG/Interface/Interfaced.h"
19
#include "ThePEG/Utilities/Selector.h"
20
#include "ThePEG/PDT/WidthGenerator.h"
21
#include "ThePEG/PDT/MassGenerator.h"
22
#include "ThePEG/PDT/DecayMode.fh"
23
#include "ThePEG/Utilities/ClassTraits.h"
24
#include "ThePEG/Utilities/ClassDescription.h"
25
26
namespace
ThePEG
{
27
36
class
ParticleData
:
public
Interfaced
{
37
38
public
:
39
41
friend
class
Repository
;
42
44
friend
class
EventGenerator
;
45
47
friend
class
DecayMode
;
48
50
typedef
Selector<tDMPtr>
DecaySelector
;
51
52
public
:
53
59
ParticleData
();
60
64
virtual
~ParticleData
();
66
73
static
PDPtr
Create
(
PID
newId,
const
string
& newPDGName);
74
78
static
PDPair
Create
(
PID
newId,
const
string
& newPDGName,
const
string
& newAntiPDGName);
80
81
public
:
82
88
long
id
()
const
{
return
theId
; }
89
94
const
string
&
PDGName
()
const
{
return
thePDGName
; }
95
100
const
string
&
genericName
()
const
{
return
thePDGName
; }
102
108
PPtr
produceParticle
(
const
Lorentz5Momentum
&)
const
;
109
113
PPtr
produceParticle
(
const
LorentzMomentum
&)
const
;
114
118
PPtr
produceParticle
(
const
LorentzMomentum
&,
Energy
m)
const
;
119
123
PPtr
produceParticle
(
const
Momentum3
& pp =
Momentum3
())
const
;
124
128
PPtr
produceParticle
(
Energy
m,
const
Momentum3
& pp =
Momentum3
())
const
;
129
134
PPtr
produceParticle
(
Energy
plus,
Energy
minus,
Energy
px,
Energy
py)
const
;
135
139
Energy
generateMass
()
const
;
140
145
Energy
generateWidth
(
Energy
mass
)
const
;
146
152
Length
generateLifeTime
(
Energy
mass,
Energy
width
)
const
;
153
// Given a mass and a width of an instance of this particle type,
154
// generate a life time.
156
163
const
DecaySelector &
decaySelector
()
const
{
return
theDecaySelector
; }
164
171
tDMPtr
selectMode
(
Particle
& p)
const
;
172
177
const
DecaySet &
decayModes
()
const
{
return
theDecayModes
; }
179
183
Energy
mass
(
Energy
);
184
188
Energy
mass
()
const
{
return
theMass
; }
189
193
Energy
hardProcessMass
()
const
{
194
return
195
hardProcessMassSet
?
theHardProcessMass
:
mass
();
196
}
197
201
Energy
massMax
()
const
{
return
mass
() +
widthUpCut
(); }
202
206
Energy
massMin
()
const
{
return
max(
mass
() -
widthLoCut
(),
ZERO
); }
207
212
virtual
Energy
constituentMass
()
const
{
return
mass
(); }
213
217
Energy
width
(
Energy
);
218
223
Energy
width
()
const
{
224
return
theWidth
>=
ZERO
?
theWidth
:
225
(
theCTau
>
Length
() ?
hbarc
/
theCTau
:
226
(
theCTau
==
Length
() ?
Constants::MaxEnergy
:
ZERO
) );
227
}
228
232
Energy
widthCut
(
Energy
wci) {
233
widthUpCut
(wci);
234
return
widthLoCut
(wci);
235
}
236
240
Energy
widthCut
()
const
{
return
max(
widthUpCut
(),
widthLoCut
()); }
241
245
Energy
widthUpCut
(
Energy
);
246
250
Energy
widthUpCut
()
const
{
251
return
theWidthUpCut
>=
ZERO
?
theWidthUpCut
:
Constants::MaxEnergy
;
252
}
253
257
Energy
widthLoCut
(
Energy
);
258
262
Energy
widthLoCut
()
const
{
263
return
theWidthLoCut
>=
ZERO
?
theWidthLoCut
:
Constants::MaxEnergy
;
264
}
265
269
Length
cTau
(
Length
);
270
277
Length
cTau
()
const
{
278
return
theCTau
>
Length
() ?
theCTau
:
279
(
theWidth
>
ZERO
?
hbarc
/
theWidth
:
280
(
stable
() ?
Constants::MaxLength
:
Length
() ) );
281
}
282
286
Energy
hardProcessWidth
()
const
{
287
return
288
hardProcessWidthSet
?
theHardProcessWidth
:
width
();
289
}
290
295
PDT::Charge
iCharge
(
PDT::Charge
);
296
301
Charge
charge
()
const
{
return
eplus*double(
theCharge
)/3.0; }
302
306
PDT::Charge
iCharge
()
const
{
return
theCharge
; }
307
311
bool
charged
()
const
{
return
PDT::charged
(
theCharge
); }
312
316
bool
positive
()
const
{
return
PDT::positive
(
theCharge
); }
317
321
bool
negative
()
const
{
return
PDT::negative
(
theCharge
); }
322
327
PDT::Spin
iSpin
(
PDT::Spin
);
328
332
AngularMomentum
spin
()
const
{
return
hbar_Planck
*double(
theSpin
-1)*0.5; }
333
337
PDT::Spin
iSpin
()
const
{
return
theSpin
; }
338
342
PDT::Colour
iColour
(
PDT::Colour
);
343
347
PDT::Colour
iColour
()
const
{
return
theColour
; }
348
352
bool
coloured
()
const
{
return
PDT::coloured
(
iColour
()); }
353
357
bool
hasColour
(
bool
anti =
false
)
const
{
358
return
anti?
hasAntiColour
():
359
(
iColour
() ==
PDT::Colour3
||
iColour
() ==
PDT::Colour6
||
360
iColour
() ==
PDT::Colour8
);
361
}
362
366
bool
hasAntiColour
()
const
{
367
return
iColour
() ==
PDT::Colour3bar
||
iColour
() ==
PDT::Colour6bar
||
368
iColour
() ==
PDT::Colour8
;
369
}
370
375
void
stable
(
bool
stab);
376
382
bool
stable
()
const
{
return
isStable
; }
383
387
tPDPtr
CC
()
const
{
return
theAntiPartner
; }
388
393
void
synchronized
(
bool
sync);
394
399
bool
synchronized
()
const
{
return
syncAnti
; }
400
405
void
synchronize
();
406
410
void
massGenerator
(tMassGenPtr);
411
415
tMassGenPtr
massGenerator
()
const
{
return
theMassGenerator
; }
416
420
void
widthGenerator
(tWidthGeneratorPtr);
421
425
tWidthGeneratorPtr
widthGenerator
()
const
{
return
theWidthGenerator
; }
426
431
void
variableRatio
(
bool
varRatio);
432
437
bool
variableRatio
()
const
{
return
theVariableRatio
; }
438
439
public
:
440
441
448
void
persistentOutput
(
PersistentOStream
& os)
const
;
449
455
void
persistentInput
(
PersistentIStream
& is,
int
version);
457
458
static
void
Init();
459
460
protected
:
461
468
virtual
IBPtr
clone
()
const
;
469
474
virtual
IBPtr
fullclone
()
const
;
476
482
virtual
PDPtr
pdclone
()
const
;
483
488
ParticleData
(
PID
newId,
const
string
& newPDGName);
489
499
virtual
void
readSetup
(istream & is);
500
505
static
void
antiSetup
(
const
PDPair
& pap);
506
507
508
protected
:
509
515
virtual
void
doupdate
();
516
522
virtual
void
doinit
();
523
533
virtual
void
rebind
(
const
TranslationMap
& trans)
534
;
535
541
virtual
IVector
getReferences
();
542
547
virtual
void
doinitrun
();
549
550
protected
:
551
555
void
addDecayMode
(
tDMPtr
);
556
560
void
removeDecayMode
(
tDMPtr
);
561
562
private
:
563
567
PID
theId
;
568
572
string
thePDGName
;
573
577
Energy
theMass
;
578
582
Energy
theWidth
;
583
587
Energy
theHardProcessMass
;
588
592
bool
hardProcessMassSet
;
593
597
Energy
theHardProcessWidth
;
598
602
bool
hardProcessWidthSet
;
603
607
Energy
theWidthUpCut
;
608
612
Energy
theWidthLoCut
;
613
617
Length
theCTau
;
618
622
PDT::Charge
theCharge
;
623
627
PDT::Spin
theSpin
;
628
632
PDT::Colour
theColour
;
633
638
MassGenPtr
theMassGenerator
;
639
643
bool
isStable
;
644
649
DecaySelector
theDecaySelector
;
650
654
DecaySet
theDecayModes
;
655
663
WidthGeneratorPtr
theWidthGenerator
;
664
669
bool
theVariableRatio
;
670
675
tPDPtr
theAntiPartner
;
676
681
bool
syncAnti
;
682
686
Energy
theDefMass
;
687
691
Energy
theDefWidth
;
692
696
Energy
theDefCut
;
697
701
Length
theDefCTau
;
702
706
PDT::Charge
theDefCharge
;
707
711
PDT::Spin
theDefSpin
;
712
716
PDT::Colour
theDefColour
;
717
721
void
setMass
(
Energy
);
722
726
void
setHardProcessMass
(
Energy
);
727
731
string
doUnsetHardProcessMass
(
string
);
732
737
string
doAdjustNominalMass
(
string
);
738
742
Energy
defMass
()
const
;
743
747
void
setWidth
(
Energy
);
748
752
void
setHardProcessWidth
(
Energy
);
753
757
string
doUnsetHardProcessWidth
(
string
);
758
762
Energy
getWidth
()
const
;
763
767
Energy
defWidth
()
const
;
768
772
void
setCut
(
Energy
);
773
777
Energy
getCut
()
const
;
778
782
Energy
defCut
()
const
;
783
787
void
setUpCut
(
Energy
);
788
792
Energy
getUpCut
()
const
;
793
797
void
setLoCut
(
Energy
);
798
802
Energy
getLoCut
()
const
;
803
807
void
setCTau
(
Length
);
808
812
Length
getCTau
()
const
;
813
817
Length
defCTau
()
const
;
818
822
void
setStable
(
long
);
823
827
long
getStable
()
const
;
828
832
void
setSync
(
long
);
833
837
long
getSync
()
const
;
838
842
void
setVariableRatio
(
long
);
843
847
long
getVariableRatio
()
const
;
848
852
string
doSync
(
string
);
853
857
void
setMassGenerator
(MassGenPtr);
858
862
void
setWidthGenerator
(WidthGeneratorPtr);
863
867
void
setCharge
(
int
);
868
872
string
ssetCharge
(
string
);
873
877
int
getCharge
()
const
;
878
882
int
defCharge
()
const
;
883
887
void
setSpin
(
int
);
888
892
int
getSpin
()
const
;
893
897
int
defSpin
()
const
;
898
902
void
setColour
(
long
);
903
907
long
getColour
()
const
;
908
912
long
defColour
()
const
;
913
917
void
insDecayModes
(
DMPtr
dm,
int
);
918
922
void
delDecayModes
(
int
i);
923
927
vector<DMPtr>
getDecayModes
()
const
;
928
932
string
doSelectDecayModes
(
string
);
933
937
string
doPrintDecayModes
(
string
);
938
942
static
ClassDescription<ParticleData>
initParticleData
;
943
944
};
945
950
template
<>
951
struct
BaseClassTrait
<
ParticleData
,1>:
public
ClassTraitsType
{
953
typedef
Interfaced
NthBase;
954
};
955
958
template
<>
959
struct
ClassTraits
<ParticleData>:
public
ClassTraitsBase
<ParticleData> {
961
static
string
className() {
return
"ThePEG::ParticleData"
; }
962
};
963
966
}
967
968
#endif
/* ThePEG_ParticleData_H */
ThePEG::ParticleData::getSync
long getSync() const
Utility function for the interface.
ThePEG::ParticleData::Create
static PDPtr Create(PID newId, const string &newPDGName)
Create a Particle which is its own anti-particle.
ThePEG::ParticleData::setHardProcessMass
void setHardProcessMass(Energy)
Utility function for the interface.
ThePEG::ParticleData::massMin
Energy massMin() const
Return the minimum possible mass of this particle type.
Definition:
ParticleData.h:206
ThePEG::ParticleData::theWidthLoCut
Energy theWidthLoCut
Lower width cut.
Definition:
ParticleData.h:612
ThePEG::PID
PID is a helper class implementing the type of PDG particle ids.
Definition:
PID.h:23
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::LorentzVector< Energy >
ThePEG::ParticleData::setStable
void setStable(long)
Utility function for the interface.
ThePEG::ParticleData::width
Energy width() const
Get the width.
Definition:
ParticleData.h:223
ThePEG::ParticleData::theId
PID theId
Id number according to the STDHEP/PDG standard.
Definition:
ParticleData.h:567
ThePEG::ParticleData::theMass
Energy theMass
Nominal mass.
Definition:
ParticleData.h:577
ThePEG::ParticleData::widthGenerator
tWidthGeneratorPtr widthGenerator() const
Get the width generator object.
Definition:
ParticleData.h:425
ThePEG::PDT::Charge
Charge
Definition of enumerated values used for charge information.
Definition:
PDT.h:51
ThePEG::ParticleData::doUnsetHardProcessWidth
string doUnsetHardProcessWidth(string)
Reset the hard process mass.
ThePEG::ParticleData::setHardProcessWidth
void setHardProcessWidth(Energy)
Utility function for the interface.
ThePEG::Particle
The Particle class is used to describe an instance of a particle.
Definition:
Particle.h:83
ThePEG::ParticleData::setMass
void setMass(Energy)
Utility function for the interface.
ThePEG::Constants::MaxEnergy
constexpr Energy MaxEnergy
A really large energy.
Definition:
Constants.h:33
ThePEG::ParticleData::hardProcessWidth
Energy hardProcessWidth() const
Return the width to be used when evaluating hard process cross sections.
Definition:
ParticleData.h:286
ThePEG::ParticleData::charged
bool charged() const
Return true if charged.
Definition:
ParticleData.h:311
ThePEG::ParticleData::selectMode
tDMPtr selectMode(Particle &p) const
Selects a decay mode randomly according to the branching ratios.
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
ThePEG::ParticleData::produceParticle
PPtr produceParticle(const Lorentz5Momentum &) const
Produce a particle specifying momentum.
ThePEG::ParticleData::theHardProcessMass
Energy theHardProcessMass
The mass to be used when evaluating hard process cross sections.
Definition:
ParticleData.h:587
ThePEG::PDT::Colour6
Colour-sextet.
Definition:
PDT.h:100
ThePEG::PDT::coloured
static bool coloured(Colour c)
True if the argument corresponds to a non-zero colour charge.
Definition:
PDT.h:129
ThePEG::PDT::charged
static bool charged(Charge c)
True if the argument corresponds to a non-zero charge.
Definition:
PDT.h:108
ThePEG::ParticleData::removeDecayMode
void removeDecayMode(tDMPtr)
Remove a decay mode for this particle.
ThePEG::ParticleData::theDecayModes
DecaySet theDecayModes
The set of all decay modes.
Definition:
ParticleData.h:654
ThePEG::ParticleData::defCharge
int defCharge() const
Utility function for the interface.
ThePEG::ParticleData::theDecaySelector
DecaySelector theDecaySelector
A selector of decay modes weighted by the nominal branching ratios.
Definition:
ParticleData.h:649
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
Definition:
ClassDescription.h:339
ThePEG::ParticleData::doinitrun
virtual void doinitrun()
Initialize this object.
ThePEG::ParticleData::iCharge
PDT::Charge iCharge() const
Get the charge.
Definition:
ParticleData.h:306
ThePEG::ParticleData::theDefCharge
PDT::Charge theDefCharge
Helper variable to keep track of the default charge.
Definition:
ParticleData.h:706
ThePEG::ParticleData::doUnsetHardProcessMass
string doUnsetHardProcessMass(string)
Reset the hard process mass.
ThePEG::ParticleData::getCTau
Length getCTau() const
Utility function for the interface.
ThePEG::Units::hbar_Planck
constexpr Qty< 1, 1, 0 > hbar_Planck
Planck's constant (PDG 2006 value 197.326968(17) MeV fm)
Definition:
Unitsystem.h:247
ThePEG::ParticleData::doSync
string doSync(string)
Utility function for the interface.
ThePEG::PDT::Colour
Colour
Definition of enumerated values used for colour information.
Definition:
PDT.h:92
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::ParticleData::spin
AngularMomentum spin() const
Get the spin.The spin is returned in standard units.
Definition:
ParticleData.h:332
ThePEG::PDT::Colour6bar
Colour-anti-sextet.
Definition:
PDT.h:101
ThePEG::ThreeVector
A 3-component vector.
Definition:
ThreeVector.h:34
ThePEG::ParticleData::PDGName
const string & PDGName() const
Return the generic PDG name.
Definition:
ParticleData.h:94
ThePEG::ParticleData::mass
Energy mass() const
Return the nominal mass.
Definition:
ParticleData.h:188
ThePEG::Pointer::TransientRCPtr
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition:
RCPtr.h:519
ThePEG::Repository
Repository inherits from the BaseRepository class.
Definition:
Repository.h:45
ThePEG::ParticleData::cTau
Length cTau() const
Get the life time cTau cTau.
Definition:
ParticleData.h:277
ThePEG::ParticleData::generateWidth
Energy generateWidth(Energy mass) const
Generate a width for an instance of this particle type.
ThePEG::Rebinder
Rebinder is a class associating pairs of pointers to objects.
Definition:
Rebinder.h:27
ThePEG::ParticleData::massGenerator
tMassGenPtr massGenerator() const
Get the mass generator object.
Definition:
ParticleData.h:415
ThePEG::ParticleData::insDecayModes
void insDecayModes(DMPtr dm, int)
Utility function for the interface.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::ParticleData::theDefCTau
Length theDefCTau
Helper variable to keep track of the default lifetime.
Definition:
ParticleData.h:701
ThePEG::PDT::Colour3
Colour-triplet.
Definition:
PDT.h:98
ThePEG::ParticleData::syncAnti
bool syncAnti
If syncAnti is true all changes to this object will be transfered to the antiParticle.
Definition:
ParticleData.h:681
ThePEG::ParticleData::rebind
virtual void rebind(const TranslationMap &trans)
Rebind pointer to other Interfaced objects.
ThePEG.h
This is the main config header file for ThePEG.
ThePEG::ParticleData::~ParticleData
virtual ~ParticleData()
Destructor.
ThePEG::ParticleData::getWidth
Energy getWidth() const
Utility function for the interface.
ThePEG::ParticleData::positive
bool positive() const
Return true if positively charged.
Definition:
ParticleData.h:316
ThePEG::ParticleData::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::ParticleData::doAdjustNominalMass
string doAdjustNominalMass(string)
Adjust the nominal mass to the hard process mass if a reshuffling is not desirable.
ThePEG::ParticleData::delDecayModes
void delDecayModes(int i)
Utility function for the interface.
ThePEG::ParticleData::widthUpCut
Energy widthUpCut() const
Get the upper width cut.
Definition:
ParticleData.h:250
ThePEG::PDT::Colour8
Colour-octet.
Definition:
PDT.h:102
ThePEG::ParticleData::getCharge
int getCharge() const
Utility function for the interface.
ThePEG::ParticleData
ParticleData inherits from InterfacedBase and represents the properties of a particle type...
Definition:
ParticleData.h:36
ThePEG::ParticleData::synchronize
void synchronize()
If there is an anti-partner, update this object to have correct anti-properties.
ThePEG::ParticleData::defColour
long defColour() const
Utility function for the interface.
ThePEG::ParticleData::stable
bool stable() const
Return true if particle is to be considered stable.
Definition:
ParticleData.h:382
ThePEG::ParticleData::setCut
void setCut(Energy)
Utility function for the interface.
ThePEG::ParticleData::getLoCut
Energy getLoCut() const
Utility function for the interface.
ThePEG::ParticleData::charge
Charge charge() const
Get the charge.
Definition:
ParticleData.h:301
ThePEG::ParticleData::defCut
Energy defCut() const
Utility function for the interface.
ThePEG::ParticleData::theSpin
PDT::Spin theSpin
2 times the spin plus one.
Definition:
ParticleData.h:627
ThePEG::ParticleData::setColour
void setColour(long)
Utility function for the interface.
ThePEG::ParticleData::getCut
Energy getCut() const
Utility function for the interface.
ThePEG::ParticleData::isStable
bool isStable
True if the particle is considered stable.
Definition:
ParticleData.h:643
ThePEG::ParticleData::readSetup
virtual void readSetup(istream &is)
Read setup info from a standard stream.
ThePEG::ParticleData::constituentMass
virtual Energy constituentMass() const
Return the constituent mass of this particle if relevant.
Definition:
ParticleData.h:212
ThePEG::ParticleData::thePDGName
string thePDGName
Name and Id number according to the STDHEP/PDG standard.
Definition:
ParticleData.h:572
ThePEG::ParticleData::defMass
Energy defMass() const
Utility function for the interface.
ThePEG::ParticleData::theWidth
Energy theWidth
Width.
Definition:
ParticleData.h:582
ThePEG::ParticleData::theDefSpin
PDT::Spin theDefSpin
Helper variable to keep track of the default spin.
Definition:
ParticleData.h:711
ThePEG::ParticleData::defWidth
Energy defWidth() const
Utility function for the interface.
ThePEG::ParticleData::initParticleData
static ClassDescription< ParticleData > initParticleData
Describe a concrete class with persistent data.
Definition:
ParticleData.h:942
ThePEG::ParticleData::CC
tPDPtr CC() const
Get the pointer to the corresponding anti partner.
Definition:
ParticleData.h:387
ThePEG::ParticleData::getDecayModes
vector< DMPtr > getDecayModes() const
Utility function for the interface.
ThePEG::ParticleData::setWidthGenerator
void setWidthGenerator(WidthGeneratorPtr)
Utility function for the interface.
ThePEG::ParticleData::DecaySelector
Selector< tDMPtr > DecaySelector
A selector of DecayMode objects.
Definition:
ParticleData.h:50
ThePEG::PDT::Spin
Spin
Definition of enumerated values used for spin information.
Definition:
PDT.h:32
ThePEG::ParticleData::getStable
long getStable() const
Utility function for the interface.
ThePEG::ParticleData::pdclone
virtual PDPtr pdclone() const
Special clone function used by the Repository.
ThePEG::ParticleData::getUpCut
Energy getUpCut() const
Utility function for the interface.
ThePEG::ParticleData::theDefCut
Energy theDefCut
Helper variable to keep track of the default width cut.
Definition:
ParticleData.h:696
ThreeVector.h
contains the ThreeVector class.
ThePEG::ParticleData::generateLifeTime
Length generateLifeTime(Energy mass, Energy width) const
Generate a mass for an instance of this particle type.
ThePEG::ParticleData::addDecayMode
void addDecayMode(tDMPtr)
Add a decay mode for this particle.
LorentzVector.h
contains the LorentzVector class.
ThePEG::ParticleData::decaySelector
const DecaySelector & decaySelector() const
Return the nominal decay selector for this particle.
Definition:
ParticleData.h:163
ThePEG::ParticleData::iSpin
PDT::Spin iSpin() const
Get the spin.
Definition:
ParticleData.h:337
ThePEG::PDPair
pair< PDPtr, PDPtr > PDPair
A pair of pointers to ParticleData objects.
Definition:
Containers.h:115
ThePEG::ParticleData::widthCut
Energy widthCut() const
Get the width cut.
Definition:
ParticleData.h:240
ThePEG::ParticleData::massMax
Energy massMax() const
Return the maximum possible mass of this particle type.
Definition:
ParticleData.h:201
ThePEG::ParticleData::getVariableRatio
long getVariableRatio() const
Utility function for the interface.
ThePEG::PDT::negative
static bool negative(Charge c)
True if the argument corresponds to a negative charge.
Definition:
PDT.h:122
ThePEG::ParticleData::setSync
void setSync(long)
Utility function for the interface.
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::ParticleData::widthLoCut
Energy widthLoCut() const
Get the lower width cut.
Definition:
ParticleData.h:262
ThePEG::PDT::Colour3bar
Colour-anti-triplet.
Definition:
PDT.h:99
ThePEG::ParticleData::theCharge
PDT::Charge theCharge
Three times the charge.
Definition:
ParticleData.h:622
ThePEG::ParticleData::ssetCharge
string ssetCharge(string)
Utility function for the interface.
ThePEG::ParticleData::hasColour
bool hasColour(bool anti=false) const
Return true if (anti) coloured or colour-octet.
Definition:
ParticleData.h:357
ThePEG::ParticleData::genericName
const string & genericName() const
Return the generic PDG name.
Definition:
ParticleData.h:100
ThePEG::ParticleData::setWidth
void setWidth(Energy)
Utility function for the interface.
ThePEG::Qty< std::ratio< L, DL >, std::ratio< E, DE >, std::ratio< Q, DQ > >
Definition:
PhysicalQty.h:76
ThePEG::Lorentz5Vector< Energy >
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
ThePEG::ParticleData::setCTau
void setCTau(Length)
Utility function for the interface.
ThePEG::Units::hbarc
constexpr Qty< 1, 1, 0 > hbarc
Planck's constant times c (PDG 2006 value 197.326968(17) MeV fm)
Definition:
Unitsystem.h:245
ThePEG::ParticleData::theHardProcessWidth
Energy theHardProcessWidth
The width to be used when evaluating hard process cross sections.
Definition:
ParticleData.h:597
ThePEG::ParticleData::theDefColour
PDT::Colour theDefColour
Helper variable to keep track of the default colour.
Definition:
ParticleData.h:716
ThePEG::ParticleData::setMassGenerator
void setMassGenerator(MassGenPtr)
Utility function for the interface.
ThePEG::PDT::positive
static bool positive(Charge c)
True if the argument corresponds to a positive charge.
Definition:
PDT.h:115
ThePEG::Selector< tDMPtr >
ThePEG::ParticleData::theWidthUpCut
Energy theWidthUpCut
Upper width cut.
Definition:
ParticleData.h:607
ThePEG::ParticleData::antiSetup
static void antiSetup(const PDPair &pap)
Used by subclasses or by the Create method to setup anti-relationship.
ThePEG::ParticleData::theColour
PDT::Colour theColour
The colour for this particle.
Definition:
ParticleData.h:632
ThePEG::ParticleData::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::ParticleData::setLoCut
void setLoCut(Energy)
Utility function for the interface.
ThePEG::ClassTraits
The default concrete implementation of ClassTraitsBase.
Definition:
ClassTraits.h:134
ThePEG::ParticleData::theDefMass
Energy theDefMass
Helper variable to keep track of the default mass.
Definition:
ParticleData.h:686
ThePEG::ParticleData::ParticleData
ParticleData()
Default constructor.
ThePEG::ParticleData::doSelectDecayModes
string doSelectDecayModes(string)
Utility function for the interface.
ThePEG::DecayMode
The DecayMode class describes a decay channel of a particle.
Definition:
DecayMode.h:87
ThePEG::ParticleData::setUpCut
void setUpCut(Energy)
Utility function for the interface.
ThePEG::Constants::MaxLength
constexpr Length MaxLength
A really large length.
Definition:
Constants.h:30
ThePEG::ParticleData::decayModes
const DecaySet & decayModes() const
Access all the decay modes, including those which are switched off, or have zero branching ratio...
Definition:
ParticleData.h:177
ThePEG::ParticleData::doPrintDecayModes
string doPrintDecayModes(string)
Utility function for the interface.
ThePEG::ParticleData::getColour
long getColour() const
Utility function for the interface.
ThePEG::ParticleData::setSpin
void setSpin(int)
Utility function for the interface.
ThePEG::ParticleData::hardProcessMassSet
bool hardProcessMassSet
True, if a hard process mass has been set.
Definition:
ParticleData.h:592
ThePEG::ParticleData::hardProcessMass
Energy hardProcessMass() const
Return the mass to be used when evaluating hard process cross sections.
Definition:
ParticleData.h:193
ThePEG::ParticleData::setVariableRatio
void setVariableRatio(long)
Utility function for the interface.
ThePEG::Qty< 0, 1, 0 >
ThePEG::ParticleData::coloured
bool coloured() const
Return true if coloured.
Definition:
ParticleData.h:352
ThePEG::ParticleData::id
long id() const
Return the PDG id number.
Definition:
ParticleData.h:88
ThePEG::ParticleData::defCTau
Length defCTau() const
Utility function for the interface.
ThePEG::ParticleData::defSpin
int defSpin() const
Utility function for the interface.
ThePEG::ParticleData::generateMass
Energy generateMass() const
Generate a mass for an instance of this particle type.
ThePEG::IVector
vector< IBPtr > IVector
A vector of pointers to InterfacedBase objects.
Definition:
Containers.h:67
ThePEG::ParticleData::theMassGenerator
MassGenPtr theMassGenerator
A pointer to an object capable to generate a mass for a particle of this type.
Definition:
ParticleData.h:638
ThePEG::ParticleData::theVariableRatio
bool theVariableRatio
Determine whether the branching fractions are allowed to change on a particle-by-particle basis...
Definition:
ParticleData.h:669
ThePEG::ParticleData::setCharge
void setCharge(int)
Utility function for the interface.
ThePEG::ParticleData::theDefWidth
Energy theDefWidth
Helper variable to keep track of the default width.
Definition:
ParticleData.h:691
ThePEG::ParticleData::getReferences
virtual IVector getReferences()
Return a vector of all pointers to Interfaced objects used in this object.
ThePEG::ParticleData::iColour
PDT::Colour iColour() const
Get the colour of the particle in units of PDT::Colour.
Definition:
ParticleData.h:347
ThePEG::ParticleData::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::ParticleData::widthCut
Energy widthCut(Energy wci)
Set the width cut.
Definition:
ParticleData.h:232
ThePEG::ParticleData::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::ParticleData::theAntiPartner
tPDPtr theAntiPartner
Pointer to the object corresponding to the antiparticle.
Definition:
ParticleData.h:675
ThePEG::ParticleData::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::ParticleData::theWidthGenerator
WidthGeneratorPtr theWidthGenerator
A pointer to an object capable to generate the branching fractions for different decay modes for this...
Definition:
ParticleData.h:663
ThePEG::ZERO
constexpr ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
Definition:
PhysicalQty.h:35
ThePEG::ParticleData::theCTau
Length theCTau
Lifetime.
Definition:
ParticleData.h:617
ThePEG::ParticleData::hardProcessWidthSet
bool hardProcessWidthSet
True, if a hard process width has been set.
Definition:
ParticleData.h:602
ThePEG::ParticleData::variableRatio
bool variableRatio() const
Return true if the branching ratio should vary with the mass of the Particle instance.
Definition:
ParticleData.h:437
ThePEG::EventGenerator
The EventGenerator class manages a whole event generator run.
Definition:
EventGenerator.h:68
ThePEG::ParticleData::doupdate
virtual void doupdate()
Check sanity of the object during the setup phase.
ThePEG::ClassTraitsBase
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition:
ClassTraits.h:52
ThePEG::ParticleData::getSpin
int getSpin() const
Utility function for the interface.
ThePEG::ParticleData::hasAntiColour
bool hasAntiColour() const
Return true if anti coloured or colour-octet.
Definition:
ParticleData.h:366
ThePEG::ParticleData::negative
bool negative() const
Return true if negatively charged.
Definition:
ParticleData.h:321
Generated on Sat Apr 11 2020 14:31:17 for ThePEG by
1.8.13