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
15#include "PResonanceDalitz.h"
16
17Bool_t PMesonsPlugin::experimental_decays{kFALSE};
18
19PMesonsPlugin::PMesonsPlugin(const Char_t *id, const Char_t *de):
21 is_initialized = 0;
22 // RequiresPlugin("elementary");
23}
24
26 return kTRUE;
27}
28
31
32
33Bool_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)");
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
ClassImp(PBeamLineSimulation) PBeamLineSimulation
PStaticData * makeStaticData()
Bool_t Activate(void)
PMesonsPlugin(const Char_t *id, const Char_t *de)
Bool_t ExecCommand(const char *command, Double_t value)
int AddDecay(int didx, const char *name, const char *parent, const char *daughters, double br)
void SetParticleIsospin(const char *id, Int_t isospin)
void SetParticleSpin(const char *id, Int_t spin)
void SetParticleMeson(const char *id, Int_t num=1)
void SetParticleTotalWidth(Int_t id, Float_t wid)
void SetParticleCharge(const char *id, Int_t charge)
Double_t * GetBatchValue(const char *name, Int_t make_val=1)
void SetParticleParity(const char *id, Int_t parity)
int AddAlias(const char *old_name, const char *new_name)
embedded AddParticle(e_plus)