EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
EvtGenBase
EvtIncoherentMixing.hh
Go to the documentation of this file.
1
2
/***********************************************************************
3
* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4
* *
5
* This file is part of EvtGen. *
6
* *
7
* EvtGen is free software: you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation, either version 3 of the License, or *
10
* (at your option) any later version. *
11
* *
12
* EvtGen is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19
***********************************************************************/
20
21
#ifndef EVTINCOHERENTMIXING_HH
22
#define EVTINCOHERENTMIXING_HH 1
23
24
// Include files
25
26
#include "
EvtGenBase/EvtParticle.hh
"
27
34
class
EvtIncoherentMixing
{
35
public
:
37
EvtIncoherentMixing
();
38
39
~EvtIncoherentMixing
();
40
41
// activate or desactivate the Bs mixing
42
static
void
setB0Mixing
();
43
static
void
unsetB0Mixing
();
44
45
// activate or desactivate the B0 mixing
46
static
void
setBsMixing
();
47
static
void
unsetBsMixing
();
48
49
// is mixing activated ?
50
static
bool
doB0Mixing
();
51
static
bool
doBsMixing
();
52
53
// set values for the mixing
54
static
void
setdGammad
(
double
value );
55
static
void
setdeltamd
(
double
value );
56
static
void
setdGammas
(
double
value );
57
static
void
setdeltams
(
double
value );
58
59
// get parameters for mixing
60
static
double
getdGammad
();
61
static
double
getdeltamd
();
62
static
double
getdGammas
();
63
static
double
getdeltams
();
64
65
// Functions to obtain time and type of the mixing ( 1 mix, 0 unmix )
66
static
void
incoherentB0Mix
(
const
EvtId
id
,
double
& t,
int
& mix );
67
static
void
incoherentBsMix
(
const
EvtId
id
,
double
& t,
int
& mix );
68
69
// Functions to check if a B has mixed (comes from a B)
70
static
bool
isB0Mixed
(
EvtParticle
* );
71
static
bool
isBsMixed
(
EvtParticle
* );
72
73
// Functions for CP models
74
// returns for particle p the decay time t , the flavour of the tag
75
// side (B0, anti-B0, B_s0, anti-B_s0). The flavour of p can flip
76
// with probability probB
77
static
void
OtherB
(
EvtParticle
* p,
double
& t,
EvtId
& otherb,
double
probB );
78
static
void
OtherB
(
EvtParticle
* p,
double
& t,
EvtId
& otherb );
79
80
static
bool
flipIsEnabled
();
81
static
void
enableFlip
();
82
static
void
disableFlip
();
83
84
protected
:
85
private
:
86
static
bool
m_doB0Mixing
;
87
static
bool
m_doBsMixing
;
88
static
double
m_dGammad
;
89
static
double
m_deltamd
;
90
static
double
m_dGammas
;
91
static
double
m_deltams
;
92
static
bool
m_enableFlip
;
93
};
94
#endif
// EVTGENBASE_EVTINCOHERENTMIXING_HH
EvtParticle.hh
EvtId
Definition
EvtId.hh:27
EvtIncoherentMixing::m_enableFlip
static bool m_enableFlip
Definition
EvtIncoherentMixing.hh:92
EvtIncoherentMixing::disableFlip
static void disableFlip()
Definition
EvtIncoherentMixing.cpp:321
EvtIncoherentMixing::m_doB0Mixing
static bool m_doB0Mixing
Definition
EvtIncoherentMixing.hh:86
EvtIncoherentMixing::m_doBsMixing
static bool m_doBsMixing
Definition
EvtIncoherentMixing.hh:87
EvtIncoherentMixing::setdeltams
static void setdeltams(double value)
Definition
EvtIncoherentMixing.cpp:290
EvtIncoherentMixing::setdGammad
static void setdGammad(double value)
Definition
EvtIncoherentMixing.cpp:278
EvtIncoherentMixing::getdeltamd
static double getdeltamd()
Definition
EvtIncoherentMixing.cpp:300
EvtIncoherentMixing::getdGammas
static double getdGammas()
Definition
EvtIncoherentMixing.cpp:304
EvtIncoherentMixing::isB0Mixed
static bool isB0Mixed(EvtParticle *)
Definition
EvtIncoherentMixing.cpp:162
EvtIncoherentMixing::doB0Mixing
static bool doB0Mixing()
Definition
EvtIncoherentMixing.cpp:268
EvtIncoherentMixing::m_dGammad
static double m_dGammad
Definition
EvtIncoherentMixing.hh:88
EvtIncoherentMixing::unsetBsMixing
static void unsetBsMixing()
Definition
EvtIncoherentMixing.cpp:262
EvtIncoherentMixing::setdGammas
static void setdGammas(double value)
Definition
EvtIncoherentMixing.cpp:286
EvtIncoherentMixing::getdeltams
static double getdeltams()
Definition
EvtIncoherentMixing.cpp:308
EvtIncoherentMixing::setdeltamd
static void setdeltamd(double value)
Definition
EvtIncoherentMixing.cpp:282
EvtIncoherentMixing::getdGammad
static double getdGammad()
Definition
EvtIncoherentMixing.cpp:296
EvtIncoherentMixing::isBsMixed
static bool isBsMixed(EvtParticle *)
Definition
EvtIncoherentMixing.cpp:144
EvtIncoherentMixing::flipIsEnabled
static bool flipIsEnabled()
Definition
EvtIncoherentMixing.cpp:313
EvtIncoherentMixing::setBsMixing
static void setBsMixing()
Definition
EvtIncoherentMixing.cpp:258
EvtIncoherentMixing::m_dGammas
static double m_dGammas
Definition
EvtIncoherentMixing.hh:90
EvtIncoherentMixing::m_deltams
static double m_deltams
Definition
EvtIncoherentMixing.hh:91
EvtIncoherentMixing::OtherB
static void OtherB(EvtParticle *p, double &t, EvtId &otherb, double probB)
Definition
EvtIncoherentMixing.cpp:182
EvtIncoherentMixing::setB0Mixing
static void setB0Mixing()
Definition
EvtIncoherentMixing.cpp:248
EvtIncoherentMixing::incoherentBsMix
static void incoherentBsMix(const EvtId id, double &t, int &mix)
Definition
EvtIncoherentMixing.cpp:101
EvtIncoherentMixing::m_deltamd
static double m_deltamd
Definition
EvtIncoherentMixing.hh:89
EvtIncoherentMixing::doBsMixing
static bool doBsMixing()
Definition
EvtIncoherentMixing.cpp:272
EvtIncoherentMixing::unsetB0Mixing
static void unsetB0Mixing()
Definition
EvtIncoherentMixing.cpp:252
EvtIncoherentMixing::~EvtIncoherentMixing
~EvtIncoherentMixing()
Destructor.
EvtIncoherentMixing::EvtIncoherentMixing
EvtIncoherentMixing()
Standard constructor.
Definition
EvtIncoherentMixing.cpp:47
EvtIncoherentMixing::incoherentB0Mix
static void incoherentB0Mix(const EvtId id, double &t, int &mix)
Definition
EvtIncoherentMixing.cpp:59
EvtIncoherentMixing::enableFlip
static void enableFlip()
Definition
EvtIncoherentMixing.cpp:317
EvtParticle
Definition
EvtParticle.hh:45
Generated by
1.17.0