thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
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
57
ParticleData
();
58
65
static
PDPtr
Create
(
PID
newId,
const
string
& newPDGName);
66
70
static
PDPair
Create
(
PID
newId,
const
string
& newPDGName,
const
string
& newAntiPDGName);
72
73
public
:
74
80
long
id
()
const
{
return
theId
; }
81
86
const
string
&
PDGName
()
const
{
return
thePDGName
; }
87
92
const
string
&
genericName
()
const
{
return
thePDGName
; }
94
100
PPtr
produceParticle
(
const
Lorentz5Momentum
&)
const
;
101
105
PPtr
produceParticle
(
const
LorentzMomentum
&)
const
;
106
110
PPtr
produceParticle
(
const
LorentzMomentum
&,
Energy
m)
const
;
111
115
PPtr
produceParticle
(
const
Momentum3
& pp =
Momentum3
())
const
;
116
120
PPtr
produceParticle
(
Energy
m,
const
Momentum3
& pp =
Momentum3
())
const
;
121
126
PPtr
produceParticle
(
Energy
plus,
Energy
minus,
Energy
px,
Energy
py)
const
;
127
131
Energy
generateMass
()
const
;
132
137
Energy
generateWidth
(
Energy
mass
)
const
;
138
144
Length
generateLifeTime
(
Energy
mass
,
Energy
width
)
const
;
145
// Given a mass and a width of an instance of this particle type,
146
// generate a life time.
148
155
const
DecaySelector
&
decaySelector
()
const
{
return
theDecaySelector
; }
156
163
tDMPtr
selectMode
(
Particle
& p)
const
;
164
169
const
DecaySet &
decayModes
()
const
{
return
theDecayModes
; }
171
175
Energy
mass
(
Energy
);
176
180
Energy
mass
()
const
{
return
theMass
; }
181
185
Energy
hardProcessMass
()
const
{
186
return
187
hardProcessMassSet
?
theHardProcessMass
:
mass
();
188
}
189
193
Energy
massMax
()
const
{
return
mass
() +
widthUpCut
(); }
194
198
Energy
massMin
()
const
{
return
max(
mass
() -
widthLoCut
(),
ZERO
); }
199
204
virtual
Energy
constituentMass
()
const
{
return
mass
(); }
205
209
Energy
width
(
Energy
);
210
215
Energy
width
()
const
{
216
return
theWidth
>=
ZERO
?
theWidth
:
217
(
theCTau
>
Length
() ?
hbarc
/
theCTau
:
218
(
theCTau
==
Length
() ?
Constants::MaxEnergy
:
ZERO
) );
219
}
220
224
Energy
widthCut
(
Energy
wci) {
225
widthUpCut
(wci);
226
return
widthLoCut
(wci);
227
}
228
232
Energy
widthCut
()
const
{
return
max(
widthUpCut
(),
widthLoCut
()); }
233
237
Energy
widthUpCut
(
Energy
);
238
242
Energy
widthUpCut
()
const
{
243
return
theWidthUpCut
>=
ZERO
?
theWidthUpCut
:
Constants::MaxEnergy
;
244
}
245
249
Energy
widthLoCut
(
Energy
);
250
254
Energy
widthLoCut
()
const
{
255
return
theWidthLoCut
>=
ZERO
?
theWidthLoCut
:
Constants::MaxEnergy
;
256
}
257
261
Length
cTau
(
Length
);
262
269
Length
cTau
()
const
{
270
return
theCTau
>
Length
() ?
theCTau
:
271
(
theWidth
>
ZERO
?
hbarc
/
theWidth
:
272
(
stable
() ?
Constants::MaxLength
:
Length
() ) );
273
}
274
278
Energy
hardProcessWidth
()
const
{
279
return
280
hardProcessWidthSet
?
theHardProcessWidth
:
width
();
281
}
282
287
PDT::Charge
iCharge
(
PDT::Charge
);
288
293
Charge
charge
()
const
{
return
eplus*double(
theCharge
)/3.0; }
294
298
PDT::Charge
iCharge
()
const
{
return
theCharge
; }
299
303
bool
charged
()
const
{
return
PDT::charged
(
theCharge
); }
304
308
bool
positive
()
const
{
return
PDT::positive
(
theCharge
); }
309
313
bool
negative
()
const
{
return
PDT::negative
(
theCharge
); }
314
319
PDT::Spin
iSpin
(
PDT::Spin
);
320
324
AngularMomentum
spin
()
const
{
return
hbar_Planck
*double(
theSpin
-1)*0.5; }
325
329
PDT::Spin
iSpin
()
const
{
return
theSpin
; }
330
334
PDT::Colour
iColour
(
PDT::Colour
);
335
339
PDT::Colour
iColour
()
const
{
return
theColour
; }
340
344
bool
coloured
()
const
{
return
PDT::coloured
(
iColour
()); }
345
349
bool
hasColour
(
bool
anti =
false
)
const
{
350
return
anti?
hasAntiColour
():
351
(
iColour
() ==
PDT::Colour3
||
iColour
() ==
PDT::Colour6
||
352
iColour
() ==
PDT::Colour8
);
353
}
354
358
bool
hasAntiColour
()
const
{
359
return
iColour
() ==
PDT::Colour3bar
||
iColour
() ==
PDT::Colour6bar
||
360
iColour
() ==
PDT::Colour8
;
361
}
362
366
PDT::ColouredInteraction
colouredInteraction
()
const
{
367
return
theColouredInteraction
;
368
}
369
374
void
stable
(
bool
stab);
375
381
bool
stable
()
const
{
return
isStable
; }
382
386
tPDPtr
CC
()
const
{
return
theAntiPartner
; }
387
392
void
synchronized
(
bool
sync);
393
398
bool
synchronized
()
const
{
return
syncAnti
; }
399
404
void
synchronize
();
405
409
void
massGenerator
(tMassGenPtr);
410
414
tMassGenPtr
massGenerator
()
const
{
return
theMassGenerator
; }
415
419
void
widthGenerator
(tWidthGeneratorPtr);
420
424
tWidthGeneratorPtr
widthGenerator
()
const
{
return
theWidthGenerator
; }
425
430
void
variableRatio
(
bool
varRatio);
431
436
bool
variableRatio
()
const
{
return
theVariableRatio
; }
437
438
public
:
439
440
447
void
persistentOutput
(
PersistentOStream
& os)
const
;
448
454
void
persistentInput
(
PersistentIStream
& is,
int
version);
456
457
static
void
Init();
458
459
protected
:
460
467
virtual
IBPtr
clone
()
const
;
468
473
virtual
IBPtr
fullclone
()
const
;
475
481
virtual
PDPtr
pdclone
()
const
;
482
487
ParticleData
(
PID
newId,
const
string
& newPDGName);
488
498
virtual
void
readSetup
(istream & is);
499
504
static
void
antiSetup
(
const
PDPair
& pap);
505
506
507
protected
:
508
514
virtual
void
doupdate
();
515
521
virtual
void
doinit
();
522
532
virtual
void
rebind
(
const
TranslationMap
& trans)
533
;
534
540
virtual
IVector
getReferences
();
541
546
virtual
void
doinitrun
();
548
549
protected
:
550
554
void
addDecayMode
(
tDMPtr
);
555
559
void
removeDecayMode
(
tDMPtr
);
560
561
private
:
562
566
PID
theId
;
567
571
string
thePDGName
;
572
576
Energy
theMass
;
577
581
Energy
theWidth
;
582
586
Energy
theHardProcessMass
;
587
591
bool
hardProcessMassSet
;
592
596
Energy
theHardProcessWidth
;
597
601
bool
hardProcessWidthSet
;
602
606
Energy
theWidthUpCut
;
607
611
Energy
theWidthLoCut
;
612
616
Length
theCTau
;
617
621
PDT::Charge
theCharge
;
622
626
PDT::Spin
theSpin
;
627
631
PDT::Colour
theColour
;
632
636
PDT::ColouredInteraction
theColouredInteraction
;
637
646
MassGenPtr
theMassGenerator
;
647
651
bool
isStable
;
652
657
DecaySelector
theDecaySelector
;
658
662
DecaySet
theDecayModes
;
663
671
WidthGeneratorPtr
theWidthGenerator
;
672
677
bool
theVariableRatio
;
678
683
tPDPtr
theAntiPartner
;
684
689
bool
syncAnti
;
690
694
Energy
theDefMass
;
695
699
Energy
theDefWidth
;
700
704
Energy
theDefCut
;
705
709
Length
theDefCTau
;
710
714
PDT::Charge
theDefCharge
;
715
719
PDT::Spin
theDefSpin
;
720
724
PDT::Colour
theDefColour
;
725
729
PDT::ColouredInteraction
theDefColouredInteraction
;
730
734
void
setMass
(
Energy
);
735
739
void
setHardProcessMass
(
Energy
);
740
744
string
doUnsetHardProcessMass
(
string
);
745
750
string
doAdjustNominalMass
(
string
);
751
755
Energy
defMass
()
const
;
756
760
void
setWidth
(
Energy
);
761
765
void
setHardProcessWidth
(
Energy
);
766
770
string
doUnsetHardProcessWidth
(
string
);
771
775
Energy
getWidth
()
const
;
776
780
Energy
defWidth
()
const
;
781
785
void
setCut
(
Energy
);
786
790
Energy
getCut
()
const
;
791
795
Energy
defCut
()
const
;
796
800
void
setUpCut
(
Energy
);
801
805
Energy
getUpCut
()
const
;
806
810
void
setLoCut
(
Energy
);
811
815
Energy
getLoCut
()
const
;
816
820
void
setCTau
(
Length
);
821
825
Length
getCTau
()
const
;
826
830
Length
defCTau
()
const
;
831
835
void
setStable
(
long
);
836
840
long
getStable
()
const
;
841
845
void
setSync
(
long
);
846
850
long
getSync
()
const
;
851
855
void
setVariableRatio
(
long
);
856
860
long
getVariableRatio
()
const
;
861
865
string
doSync
(
string
);
866
870
void
setMassGenerator
(MassGenPtr);
871
875
void
setWidthGenerator
(WidthGeneratorPtr);
876
880
void
setCharge
(
int
);
881
885
string
ssetCharge
(
string
);
886
890
int
getCharge
()
const
;
891
895
int
defCharge
()
const
;
896
900
void
setSpin
(
int
);
901
905
int
getSpin
()
const
;
906
910
int
defSpin
()
const
;
911
915
void
setColour
(
long
);
916
920
long
getColour
()
const
;
921
925
long
defColour
()
const
;
926
930
void
setColouredInteraction
(
long
);
931
935
long
getColouredInteraction
()
const
;
936
940
long
defColouredInteraction
()
const
;
941
945
void
insDecayModes
(
DMPtr
dm,
int
);
946
950
void
delDecayModes
(
int
i);
951
955
vector<DMPtr>
getDecayModes
()
const
;
956
960
string
doSelectDecayModes
(
string
);
961
965
string
doPrintDecayModes
(
string
);
966
970
static
ClassDescription<ParticleData>
initParticleData
;
971
972
};
973
978
template
<>
979
struct
BaseClassTrait
<
ParticleData
,1>:
public
ClassTraitsType
{
981
typedef
Interfaced
NthBase
;
982
};
983
986
template
<>
987
struct
ClassTraits<ParticleData>:
public
ClassTraitsBase<ParticleData> {
989
static
string
className
() {
return
"ThePEG::ParticleData"
; }
990
};
991
994
}
995
996
#endif
/* ThePEG_ParticleData_H */
LorentzVector.h
contains the LorentzVector class.
ThePEG.h
This is the main config header file for ThePEG.
ThreeVector.h
contains the ThreeVector class.
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::DecayMode
The DecayMode class describes a decay channel of a particle.
Definition:
DecayMode.h:87
ThePEG::EventGenerator
The EventGenerator class manages a whole event generator run.
Definition:
EventGenerator.h:68
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
ThePEG::Lorentz5Vector< Energy >
ThePEG::LorentzVector< Energy >
ThePEG::PDT::positive
static bool positive(Charge c)
True if the argument corresponds to a positive charge.
Definition:
PDT.h:125
ThePEG::PDT::Charge
Charge
Definition of enumerated values used for charge information.
Definition:
PDT.h:51
ThePEG::PDT::Spin
Spin
Definition of enumerated values used for spin information.
Definition:
PDT.h:32
ThePEG::PDT::negative
static bool negative(Charge c)
True if the argument corresponds to a negative charge.
Definition:
PDT.h:132
ThePEG::PDT::Colour
Colour
Definition of enumerated values used for colour information.
Definition:
PDT.h:92
ThePEG::PDT::Colour3
@ Colour3
Colour-triplet.
Definition:
PDT.h:98
ThePEG::PDT::Colour8
@ Colour8
Colour-octet.
Definition:
PDT.h:102
ThePEG::PDT::Colour6bar
@ Colour6bar
Colour-anti-sextet.
Definition:
PDT.h:101
ThePEG::PDT::Colour6
@ Colour6
Colour-sextet.
Definition:
PDT.h:100
ThePEG::PDT::Colour3bar
@ Colour3bar
Colour-anti-triplet.
Definition:
PDT.h:99
ThePEG::PDT::ColouredInteraction
ColouredInteraction
Define type of nonabelian interactions.
Definition:
PDT.h:108
ThePEG::PDT::charged
static bool charged(Charge c)
True if the argument corresponds to a non-zero charge.
Definition:
PDT.h:118
ThePEG::PDT::coloured
static bool coloured(Colour c)
True if the argument corresponds to a non-zero colour charge.
Definition:
PDT.h:139
ThePEG::PID
PID is a helper class implementing the type of PDG particle ids.
Definition:
PID.h:23
ThePEG::ParticleData
ParticleData inherits from InterfacedBase and represents the properties of a particle type.
Definition:
ParticleData.h:36
ThePEG::ParticleData::doPrintDecayModes
string doPrintDecayModes(string)
Utility function for the interface.
ThePEG::ParticleData::defCharge
int defCharge() const
Utility function for the interface.
ThePEG::ParticleData::getReferences
virtual IVector getReferences()
Return a vector of all pointers to Interfaced objects used in this object.
ThePEG::ParticleData::initParticleData
static ClassDescription< ParticleData > initParticleData
Describe a concrete class with persistent data.
Definition:
ParticleData.h:970
ThePEG::ParticleData::synchronize
void synchronize()
If there is an anti-partner, update this object to have correct anti-properties.
ThePEG::ParticleData::setWidth
void setWidth(Energy)
Utility function for the interface.
ThePEG::ParticleData::pdclone
virtual PDPtr pdclone() const
Special clone function used by the Repository.
ThePEG::ParticleData::theWidthLoCut
Energy theWidthLoCut
Lower width cut.
Definition:
ParticleData.h:611
ThePEG::ParticleData::theDefSpin
PDT::Spin theDefSpin
Helper variable to keep track of the default spin.
Definition:
ParticleData.h:719
ThePEG::ParticleData::defSpin
int defSpin() const
Utility function for the interface.
ThePEG::ParticleData::massGenerator
void massGenerator(tMassGenPtr)
Set the mass generator object.
ThePEG::ParticleData::insDecayModes
void insDecayModes(DMPtr dm, int)
Utility function for the interface.
ThePEG::ParticleData::iSpin
PDT::Spin iSpin(PDT::Spin)
Set the spin.
ThePEG::ParticleData::theDefWidth
Energy theDefWidth
Helper variable to keep track of the default width.
Definition:
ParticleData.h:699
ThePEG::ParticleData::doAdjustNominalMass
string doAdjustNominalMass(string)
Adjust the nominal mass to the hard process mass if a reshuffling is not desirable.
ThePEG::ParticleData::charged
bool charged() const
Return true if charged.
Definition:
ParticleData.h:303
ThePEG::ParticleData::decaySelector
const DecaySelector & decaySelector() const
Return the nominal decay selector for this particle.
Definition:
ParticleData.h:155
ThePEG::ParticleData::Create
static PDPtr Create(PID newId, const string &newPDGName)
Create a Particle which is its own anti-particle.
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:671
ThePEG::ParticleData::setSpin
void setSpin(int)
Utility function for the interface.
ThePEG::ParticleData::thePDGName
string thePDGName
Name and Id number according to the STDHEP/PDG standard.
Definition:
ParticleData.h:571
ThePEG::ParticleData::variableRatio
void variableRatio(bool varRatio)
Specify if the branching ratio of the Particle instances should vary with their masses.
ThePEG::ParticleData::theDefCTau
Length theDefCTau
Helper variable to keep track of the default lifetime.
Definition:
ParticleData.h:709
ThePEG::ParticleData::produceParticle
PPtr produceParticle(const Lorentz5Momentum &) const
Produce a particle specifying momentum.
ThePEG::ParticleData::produceParticle
PPtr produceParticle(Energy plus, Energy minus, Energy px, Energy py) const
Produce a particle specifying light-cone momentum components and transverse momentum components.
ThePEG::ParticleData::hasColour
bool hasColour(bool anti=false) const
Return true if (anti) coloured or colour-octet.
Definition:
ParticleData.h:349
ThePEG::ParticleData::theCTau
Length theCTau
Lifetime.
Definition:
ParticleData.h:616
ThePEG::ParticleData::syncAnti
bool syncAnti
If syncAnti is true all changes to this object will be transfered to the antiParticle.
Definition:
ParticleData.h:689
ThePEG::ParticleData::CC
tPDPtr CC() const
Get the pointer to the corresponding anti partner.
Definition:
ParticleData.h:386
ThePEG::ParticleData::getColouredInteraction
long getColouredInteraction() const
Utility function for the interface.
ThePEG::ParticleData::spin
AngularMomentum spin() const
Get the spin.The spin is returned in standard units.
Definition:
ParticleData.h:324
ThePEG::ParticleData::setCut
void setCut(Energy)
Utility function for the interface.
ThePEG::ParticleData::widthUpCut
Energy widthUpCut(Energy)
Set the upper width cut.
ThePEG::ParticleData::produceParticle
PPtr produceParticle(const Momentum3 &pp=Momentum3()) const
Produce a particle specifying 3-momentum.
ThePEG::ParticleData::getSync
long getSync() const
Utility function for the interface.
ThePEG::ParticleData::addDecayMode
void addDecayMode(tDMPtr)
Add a decay mode for this particle.
ThePEG::ParticleData::setLoCut
void setLoCut(Energy)
Utility function for the interface.
ThePEG::ParticleData::theMassGenerator
MassGenPtr theMassGenerator
The nonabelian interaction of this particle.
Definition:
ParticleData.h:646
ThePEG::ParticleData::DecaySelector
Selector< tDMPtr > DecaySelector
A selector of DecayMode objects.
Definition:
ParticleData.h:50
ThePEG::ParticleData::defCTau
Length defCTau() const
Utility function for the interface.
ThePEG::ParticleData::theHardProcessMass
Energy theHardProcessMass
The mass to be used when evaluating hard process cross sections.
Definition:
ParticleData.h:586
ThePEG::ParticleData::defColouredInteraction
long defColouredInteraction() const
Utility function for the interface.
ThePEG::ParticleData::setCharge
void setCharge(int)
Utility function for the interface.
ThePEG::ParticleData::hardProcessWidth
Energy hardProcessWidth() const
Return the width to be used when evaluating hard process cross sections.
Definition:
ParticleData.h:278
ThePEG::ParticleData::theDefCharge
PDT::Charge theDefCharge
Helper variable to keep track of the default charge.
Definition:
ParticleData.h:714
ThePEG::ParticleData::setStable
void setStable(long)
Utility function for the interface.
ThePEG::ParticleData::setVariableRatio
void setVariableRatio(long)
Utility function for the interface.
ThePEG::ParticleData::massMax
Energy massMax() const
Return the maximum possible mass of this particle type.
Definition:
ParticleData.h:193
ThePEG::ParticleData::ParticleData
ParticleData(PID newId, const string &newPDGName)
Protected constructor only to be used by subclasses or by the Create method.
ThePEG::ParticleData::widthLoCut
Energy widthLoCut(Energy)
Set the lower width cut.
ThePEG::ParticleData::getStable
long getStable() const
Utility function for the interface.
ThePEG::ParticleData::width
Energy width(Energy)
Set the width.
ThePEG::ParticleData::hasAntiColour
bool hasAntiColour() const
Return true if anti coloured or colour-octet.
Definition:
ParticleData.h:358
ThePEG::ParticleData::defColour
long defColour() const
Utility function for the interface.
ThePEG::ParticleData::setMass
void setMass(Energy)
Utility function for the interface.
ThePEG::ParticleData::iSpin
PDT::Spin iSpin() const
Get the spin.
Definition:
ParticleData.h:329
ThePEG::ParticleData::readSetup
virtual void readSetup(istream &is)
Read setup info from a standard stream.
ThePEG::ParticleData::selectMode
tDMPtr selectMode(Particle &p) const
Selects a decay mode randomly according to the branching ratios.
ThePEG::ParticleData::theId
PID theId
Id number according to the STDHEP/PDG standard.
Definition:
ParticleData.h:566
ThePEG::ParticleData::widthCut
Energy widthCut(Energy wci)
Set the width cut.
Definition:
ParticleData.h:224
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:169
ThePEG::ParticleData::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::ParticleData::mass
Energy mass() const
Return the nominal mass.
Definition:
ParticleData.h:180
ThePEG::ParticleData::setSync
void setSync(long)
Utility function for the interface.
ThePEG::ParticleData::doSync
string doSync(string)
Utility function for the interface.
ThePEG::ParticleData::setHardProcessWidth
void setHardProcessWidth(Energy)
Utility function for the interface.
ThePEG::ParticleData::theDecayModes
DecaySet theDecayModes
The set of all decay modes.
Definition:
ParticleData.h:662
ThePEG::ParticleData::getCut
Energy getCut() const
Utility function for the interface.
ThePEG::ParticleData::theSpin
PDT::Spin theSpin
2 times the spin plus one.
Definition:
ParticleData.h:626
ThePEG::ParticleData::generateMass
Energy generateMass() const
Generate a mass for an instance of this particle type.
ThePEG::ParticleData::Create
static PDPair Create(PID newId, const string &newPDGName, const string &newAntiPDGName)
Create a particle - anti particle pair.
ThePEG::ParticleData::getCharge
int getCharge() const
Utility function for the interface.
ThePEG::ParticleData::variableRatio
bool variableRatio() const
Return true if the branching ratio should vary with the mass of the Particle instance.
Definition:
ParticleData.h:436
ThePEG::ParticleData::PDGName
const string & PDGName() const
Return the generic PDG name.
Definition:
ParticleData.h:86
ThePEG::ParticleData::setUpCut
void setUpCut(Energy)
Utility function for the interface.
ThePEG::ParticleData::id
long id() const
Return the PDG id number.
Definition:
ParticleData.h:80
ThePEG::ParticleData::getColour
long getColour() const
Utility function for the interface.
ThePEG::ParticleData::stable
bool stable() const
Return true if particle is to be considered stable.
Definition:
ParticleData.h:381
ThePEG::ParticleData::cTau
Length cTau() const
Get the life time cTau cTau.
Definition:
ParticleData.h:269
ThePEG::ParticleData::getLoCut
Energy getLoCut() const
Utility function for the interface.
ThePEG::ParticleData::removeDecayMode
void removeDecayMode(tDMPtr)
Remove a decay mode for this particle.
ThePEG::ParticleData::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::ParticleData::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::ParticleData::cTau
Length cTau(Length)
Set the life time cTau.
ThePEG::ParticleData::theAntiPartner
tPDPtr theAntiPartner
Pointer to the object corresponding to the antiparticle.
Definition:
ParticleData.h:683
ThePEG::ParticleData::produceParticle
PPtr produceParticle(const LorentzMomentum &) const
Produce a particle specifying momentum.
ThePEG::ParticleData::doUnsetHardProcessMass
string doUnsetHardProcessMass(string)
Reset the hard process mass.
ThePEG::ParticleData::iColour
PDT::Colour iColour(PDT::Colour)
Set the colour of the particle in units of PDT::Colour.
ThePEG::ParticleData::charge
Charge charge() const
Get the charge.
Definition:
ParticleData.h:293
ThePEG::ParticleData::getDecayModes
vector< DMPtr > getDecayModes() const
Utility function for the interface.
ThePEG::ParticleData::stable
void stable(bool stab)
Specify if particle is to be considered stable according to stab.
ThePEG::ParticleData::iCharge
PDT::Charge iCharge(PDT::Charge)
Set the charge.
ThePEG::ParticleData::massMin
Energy massMin() const
Return the minimum possible mass of this particle type.
Definition:
ParticleData.h:198
ThePEG::ParticleData::theDefCut
Energy theDefCut
Helper variable to keep track of the default width cut.
Definition:
ParticleData.h:704
ThePEG::ParticleData::setMassGenerator
void setMassGenerator(MassGenPtr)
Utility function for the interface.
ThePEG::ParticleData::rebind
virtual void rebind(const TranslationMap &trans)
Rebind pointer to other Interfaced objects.
ThePEG::ParticleData::widthGenerator
tWidthGeneratorPtr widthGenerator() const
Get the width generator object.
Definition:
ParticleData.h:424
ThePEG::ParticleData::theWidth
Energy theWidth
Width.
Definition:
ParticleData.h:581
ThePEG::ParticleData::delDecayModes
void delDecayModes(int i)
Utility function for the interface.
ThePEG::ParticleData::produceParticle
PPtr produceParticle(const LorentzMomentum &, Energy m) const
Produce a particle specifying 4-momentum and a mass.
ThePEG::ParticleData::width
Energy width() const
Get the width.
Definition:
ParticleData.h:215
ThePEG::ParticleData::setWidthGenerator
void setWidthGenerator(WidthGeneratorPtr)
Utility function for the interface.
ThePEG::ParticleData::widthGenerator
void widthGenerator(tWidthGeneratorPtr)
Set the width generator object.
ThePEG::ParticleData::doSelectDecayModes
string doSelectDecayModes(string)
Utility function for the interface.
ThePEG::ParticleData::hardProcessWidthSet
bool hardProcessWidthSet
True, if a hard process width has been set.
Definition:
ParticleData.h:601
ThePEG::ParticleData::positive
bool positive() const
Return true if positively charged.
Definition:
ParticleData.h:308
ThePEG::ParticleData::generateLifeTime
Length generateLifeTime(Energy mass, Energy width) const
Generate a mass for an instance of this particle type.
ThePEG::ParticleData::iColour
PDT::Colour iColour() const
Get the colour of the particle in units of PDT::Colour.
Definition:
ParticleData.h:339
ThePEG::ParticleData::defCut
Energy defCut() const
Utility function for the interface.
ThePEG::ParticleData::genericName
const string & genericName() const
Return the generic PDG name.
Definition:
ParticleData.h:92
ThePEG::ParticleData::theColouredInteraction
PDT::ColouredInteraction theColouredInteraction
The coloured interaction of this particle.
Definition:
ParticleData.h:636
ThePEG::ParticleData::widthCut
Energy widthCut() const
Get the width cut.
Definition:
ParticleData.h:232
ThePEG::ParticleData::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::ParticleData::massGenerator
tMassGenPtr massGenerator() const
Get the mass generator object.
Definition:
ParticleData.h:414
ThePEG::ParticleData::hardProcessMassSet
bool hardProcessMassSet
True, if a hard process mass has been set.
Definition:
ParticleData.h:591
ThePEG::ParticleData::defWidth
Energy defWidth() const
Utility function for the interface.
ThePEG::ParticleData::theCharge
PDT::Charge theCharge
Three times the charge.
Definition:
ParticleData.h:621
ThePEG::ParticleData::theDefColouredInteraction
PDT::ColouredInteraction theDefColouredInteraction
Helper variable to keep track of the default coloured interaction.
Definition:
ParticleData.h:729
ThePEG::ParticleData::produceParticle
PPtr produceParticle(Energy m, const Momentum3 &pp=Momentum3()) const
Produce a particle specifying mass and 3-momentum.
ThePEG::ParticleData::mass
Energy mass(Energy)
Set the nominal mass.
ThePEG::ParticleData::ssetCharge
string ssetCharge(string)
Utility function for the interface.
ThePEG::ParticleData::theColour
PDT::Colour theColour
The colour for this particle.
Definition:
ParticleData.h:631
ThePEG::ParticleData::getSpin
int getSpin() const
Utility function for the interface.
ThePEG::ParticleData::setHardProcessMass
void setHardProcessMass(Energy)
Utility function for the interface.
ThePEG::ParticleData::negative
bool negative() const
Return true if negatively charged.
Definition:
ParticleData.h:313
ThePEG::ParticleData::getVariableRatio
long getVariableRatio() const
Utility function for the interface.
ThePEG::ParticleData::ParticleData
ParticleData()
Default constructor.
ThePEG::ParticleData::constituentMass
virtual Energy constituentMass() const
Return the constituent mass of this particle if relevant.
Definition:
ParticleData.h:204
ThePEG::ParticleData::theWidthUpCut
Energy theWidthUpCut
Upper width cut.
Definition:
ParticleData.h:606
ThePEG::ParticleData::theMass
Energy theMass
Nominal mass.
Definition:
ParticleData.h:576
ThePEG::ParticleData::colouredInteraction
PDT::ColouredInteraction colouredInteraction() const
Return what kind of colour charge this particle carries.
Definition:
ParticleData.h:366
ThePEG::ParticleData::coloured
bool coloured() const
Return true if coloured.
Definition:
ParticleData.h:344
ThePEG::ParticleData::theHardProcessWidth
Energy theHardProcessWidth
The width to be used when evaluating hard process cross sections.
Definition:
ParticleData.h:596
ThePEG::ParticleData::widthLoCut
Energy widthLoCut() const
Get the lower width cut.
Definition:
ParticleData.h:254
ThePEG::ParticleData::theDefColour
PDT::Colour theDefColour
Helper variable to keep track of the default colour.
Definition:
ParticleData.h:724
ThePEG::ParticleData::theVariableRatio
bool theVariableRatio
Determine whether the branching fractions are allowed to change on a particle-by-particle basis.
Definition:
ParticleData.h:677
ThePEG::ParticleData::theDecaySelector
DecaySelector theDecaySelector
A selector of decay modes weighted by the nominal branching ratios.
Definition:
ParticleData.h:657
ThePEG::ParticleData::getUpCut
Energy getUpCut() const
Utility function for the interface.
ThePEG::ParticleData::generateWidth
Energy generateWidth(Energy mass) const
Generate a width for an instance of this particle type.
ThePEG::ParticleData::doinitrun
virtual void doinitrun()
Initialize this object.
ThePEG::ParticleData::getCTau
Length getCTau() const
Utility function for the interface.
ThePEG::ParticleData::setColour
void setColour(long)
Utility function for the interface.
ThePEG::ParticleData::hardProcessMass
Energy hardProcessMass() const
Return the mass to be used when evaluating hard process cross sections.
Definition:
ParticleData.h:185
ThePEG::ParticleData::theDefMass
Energy theDefMass
Helper variable to keep track of the default mass.
Definition:
ParticleData.h:694
ThePEG::ParticleData::doUnsetHardProcessWidth
string doUnsetHardProcessWidth(string)
Reset the hard process mass.
ThePEG::ParticleData::getWidth
Energy getWidth() const
Utility function for the interface.
ThePEG::ParticleData::setColouredInteraction
void setColouredInteraction(long)
Utility function for the interface.
ThePEG::ParticleData::doupdate
virtual void doupdate()
Check sanity of the object during the setup phase.
ThePEG::ParticleData::widthUpCut
Energy widthUpCut() const
Get the upper width cut.
Definition:
ParticleData.h:242
ThePEG::ParticleData::iCharge
PDT::Charge iCharge() const
Get the charge.
Definition:
ParticleData.h:298
ThePEG::ParticleData::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::ParticleData::setCTau
void setCTau(Length)
Utility function for the interface.
ThePEG::ParticleData::antiSetup
static void antiSetup(const PDPair &pap)
Used by subclasses or by the Create method to setup anti-relationship.
ThePEG::ParticleData::defMass
Energy defMass() const
Utility function for the interface.
ThePEG::ParticleData::isStable
bool isStable
True if the particle is considered stable.
Definition:
ParticleData.h:651
ThePEG::Particle
The Particle class is used to describe an instance of a particle.
Definition:
Particle.h:83
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::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::Qty< std::ratio< L, DL >, std::ratio< E, DE >, std::ratio< Q, DQ > >
Definition:
PhysicalQty.h:77
ThePEG::Qty< 0, 1, 0 >
ThePEG::Rebinder
Rebinder is a class associating pairs of pointers to objects.
Definition:
Rebinder.h:27
ThePEG::Repository
Repository inherits from the BaseRepository class.
Definition:
Repository.h:45
ThePEG::Selector
Selector is a templated class for storing objects associated with probabilities in a way such that,...
Definition:
Selector.h:46
ThePEG::ThreeVector
A 3-component vector.
Definition:
ThreeVector.h:35
ThePEG::Constants::MaxEnergy
constexpr Energy MaxEnergy
A really large energy.
Definition:
Constants.h:33
ThePEG::Constants::MaxLength
constexpr Length MaxLength
A really large length.
Definition:
Constants.h:30
ThePEG::Units::Momentum3
ThreeVector< Energy > Momentum3
A momentum in three-dimensional euclidean space.
Definition:
Unitsystem.h:136
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::Units::Length
Qty< 1, 0, 0 > Length
Length.
Definition:
Unitsystem.h:48
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
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::ZERO
constexpr ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
Definition:
PhysicalQty.h:35
ThePEG::PDPair
pair< PDPtr, PDPtr > PDPair
A pair of pointers to ParticleData objects.
Definition:
Containers.h:115
ThePEG::IVector
vector< IBPtr > IVector
A vector of pointers to InterfacedBase objects.
Definition:
Containers.h:67
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
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
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6