Pluto
v6.3.0
Loading...
Searching...
No Matches
PMesonsPlugin.cc
Go to the documentation of this file.
1
2
//Plugin to add the mesons particles Lambda(1405) and Sigma(1385)
3
//
4
//Pids are 70-73
5
//
6
//This plugin is automatically enabled. If you don't like it, call
7
//makeDistributionManager()->Disable("mesons");
8
//in the very beginning of your macro
9
//
11
12
#include "
PMesonsPlugin.h
"
13
14
#include "
PDistributionManager.h
"
15
#include "
PResonanceDalitz.h
"
16
17
Bool_t PMesonsPlugin::experimental_decays{kFALSE};
18
19
PMesonsPlugin::PMesonsPlugin
(
const
Char_t *
id
,
const
Char_t *de):
20
PDistributionCollection
(id, de) {
21
is_initialized = 0;
22
// RequiresPlugin("elementary");
23
}
24
25
Bool_t
PMesonsPlugin::Activate
(
void
) {
26
return
kTRUE;
27
}
28
29
PMesonsPlugin::~PMesonsPlugin
() {
30
}
31
32
33
Bool_t
PMesonsPlugin::ExecCommand
(
const
char
*command, Double_t) {
34
35
if
(strcmp (command,
"init"
) == 0) {
36
if
(!is_initialized) {
37
is_initialized = 1;
38
39
Double_t *system_alloc_verbosity =
makeStaticData
()->
GetBatchValue
(
"_system_alloc_verbosity"
);
40
Double_t old = (*system_alloc_verbosity);
41
(*system_alloc_verbosity) = 0;
42
43
if
(
makeStaticData
()->
AddParticle
(104,
"f1"
, 1.2819) > 0) {
44
makeStaticData
()->
AddAlias
(
"f1"
,
"f1(1285)"
);
45
makeStaticData
()->
SetParticleTotalWidth
(
"f1"
, 0.0227);
46
makeStaticData
()->
SetParticleMeson
(
"f1"
, 1);
47
makeStaticData
()->
SetParticleSpin
(
"f1"
, 1);
48
makeStaticData
()->
SetParticleParity
(
"f1"
, 1);
49
makeStaticData
()->
SetParticleCharge
(
"f1"
, 0);
50
makeStaticData
()->
SetParticleIsospin
(
"f1"
, 0);
51
52
makeStaticData
()->
AddDecay
(
"f1 --> pi+ + pi- + eta"
,
"f1"
,
"pi+,pi-,eta"
, 0.35);
53
makeStaticData
()->
AddDecay
(
"f1 --> 2pi0 + pi+ + pi-"
,
"f1"
,
"pi+,pi-,pi0,pi0"
, 0.218);
54
makeStaticData
()->
AddDecay
(
"f1 --> 2pi+ + 2pi-"
,
"f1"
,
"pi+,pi-,pi+,pi-"
, 0.109);
55
}
else
{
56
Error(
"ExecCommand"
,
"PIDs blocked, plugin disabled"
);
57
}
58
59
if
(
makeStaticData
()->
AddParticle
(105,
"eta1295"
, 1.294) > 0) {
60
makeStaticData
()->
AddAlias
(
"eta1295"
,
"eta(1295)"
);
61
makeStaticData
()->
SetParticleTotalWidth
(
"eta1295"
, 0.055);
62
makeStaticData
()->
SetParticleMeson
(
"eta1295"
, 1);
63
makeStaticData
()->
SetParticleSpin
(
"eta1295"
, 0);
64
makeStaticData
()->
SetParticleParity
(
"eta1295"
, -1);
65
makeStaticData
()->
SetParticleCharge
(
"eta1295"
, 0);
66
makeStaticData
()->
SetParticleIsospin
(
"eta1295"
, 0);
67
68
makeStaticData
()->
AddDecay
(
"eta1295 --> pi+ + pi- + eta"
,
"eta1295"
,
"pi+,pi-,eta"
, 1.0);
69
}
else
{
70
Error(
"ExecCommand"
,
"PIDs blocked, plugin disabled"
);
71
}
72
73
if
(experimental_decays) {
74
makeStaticData
()->
AddDecay
(
"eta --> pi0 + g + g"
,
"eta"
,
"pi0,g,g"
, 2.5e-4);
75
}
76
(*system_alloc_verbosity) = old;
77
}
78
return
kTRUE;
79
}
80
81
return
kFALSE;
82
}
83
84
85
ClassImp
(
PMesonsPlugin
)
ClassImp
ClassImp(PBeamLineSimulation) PBeamLineSimulation
Definition
PBeamLineSimulation.cc:22
PDistributionManager.h
PMesonsPlugin.h
PResonanceDalitz.h
makeStaticData
PStaticData * makeStaticData()
PDistributionCollection::PDistributionCollection
PDistributionCollection()
PMesonsPlugin
Definition
PMesonsPlugin.h:17
PMesonsPlugin::Activate
Bool_t Activate(void)
Definition
PMesonsPlugin.cc:25
PMesonsPlugin::~PMesonsPlugin
~PMesonsPlugin()
Definition
PMesonsPlugin.cc:29
PMesonsPlugin::PMesonsPlugin
PMesonsPlugin(const Char_t *id, const Char_t *de)
Definition
PMesonsPlugin.cc:19
PMesonsPlugin::ExecCommand
Bool_t ExecCommand(const char *command, Double_t value)
Definition
PMesonsPlugin.cc:33
PStaticData::AddDecay
int AddDecay(int didx, const char *name, const char *parent, const char *daughters, double br)
PStaticData::SetParticleIsospin
void SetParticleIsospin(const char *id, Int_t isospin)
PStaticData::SetParticleSpin
void SetParticleSpin(const char *id, Int_t spin)
PStaticData::SetParticleMeson
void SetParticleMeson(const char *id, Int_t num=1)
PStaticData::SetParticleTotalWidth
void SetParticleTotalWidth(Int_t id, Float_t wid)
PStaticData::SetParticleCharge
void SetParticleCharge(const char *id, Int_t charge)
PStaticData::GetBatchValue
Double_t * GetBatchValue(const char *name, Int_t make_val=1)
PStaticData::SetParticleParity
void SetParticleParity(const char *id, Int_t parity)
PStaticData::AddAlias
int AddAlias(const char *old_name, const char *new_name)
AddParticle
embedded AddParticle(e_plus)
pluto6
plugins
mesons
src
PMesonsPlugin.cc
Generated by
1.14.0