StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StarGenerator
EvtGen1_06_00
EvtGenBase
EvtCPUtil.hh
1
//--------------------------------------------------------------------------
2
//
3
// Environment:
4
// This software is part of the EvtGen package developed jointly
5
// for the BaBar and CLEO collaborations. If you use all or part
6
// of it, please give an appropriate acknowledgement.
7
//
8
// Copyright Information: See EvtGen/COPYRIGHT
9
// Copyright (C) 1998 Caltech, UCSB
10
//
11
// Module: EvtGen/EvtCPUtil.hh
12
//
13
// Description:Class to hold CP physics utilities.
14
//
15
// Modification history:
16
//
17
// RYD March 24, 1998 Module created
18
//
19
//------------------------------------------------------------------------
20
21
#ifndef EVTCPUTIL_HH
22
#define EVTCPUTIL_HH
23
24
#include "EvtGenBase/EvtComplex.hh"
25
#include "EvtGenBase/EvtPatches.hh"
26
class
EvtParticle
;
27
class
EvtId
;
28
29
class
EvtCPUtil
{
30
31
public
:
32
33
EvtCPUtil
(
int
mixingType);
34
~
EvtCPUtil
();
35
36
enum
MixingType {Coherent = 0, Incoherent = 1};
37
38
static
EvtCPUtil
* getInstance();
39
40
void
setMixingType(
int
mixingType) {_mixingType = mixingType;}
41
int
getMixingType() {
return
_mixingType;}
42
43
void
fractB0CP(
EvtComplex
Af,
EvtComplex
Abarf,
44
double
deltam,
double
beta,
double
&fract);
45
46
void
fractB0nonCP(
EvtComplex
Af,
EvtComplex
Abarf,
47
EvtComplex
Afbar,
EvtComplex
Abarfbar,
48
double
deltam,
double
beta,
int
flip,
49
double
&fract);
50
51
// Mark Whitehead 7/12/2009
52
// Add required lines from EvtIncoherentMixing.hh to fix CPV
53
54
// Functions to check if a B has mixed (comes from a B)
55
bool
isB0Mixed(
EvtParticle
* ) ;
56
bool
isBsMixed(
EvtParticle
* ) ;
57
58
bool
flipIsEnabled() ;
59
void
enableFlip() ;
60
void
disableFlip() ;
61
62
void
OtherB(
EvtParticle
*p,
double
&t,
EvtId
&otherb);
63
64
void
OtherCoherentB(
EvtParticle
*p,
double
&t,
EvtId
&otherb,
double
probB0);
65
void
OtherIncoherentB(
EvtParticle
*p,
double
&t,
EvtId
&otherb,
double
probB0);
66
67
void
OtherB(
EvtParticle
*p,
double
&t,
EvtId
&otherb,
double
probB0);
68
69
//id is the produced particle
70
//t returns the lifetime of the particle
71
//and mix will be 1 if it mixed otherwise 0
72
void
incoherentMix(
const
EvtId
id
,
double
&t,
int
&mix);
73
74
double
getDeltaGamma(
const
EvtId
id
);
75
double
getDeltaM(
const
EvtId
id
);
76
77
private
:
78
79
bool
_enableFlip;
80
int
_mixingType;
81
82
};
83
84
85
#endif
86
EvtCPUtil
Definition:
EvtCPUtil.hh:29
EvtId
Definition:
EvtId.hh:27
EvtParticle
Definition:
EvtParticle.hh:45
EvtComplex
Definition:
EvtComplex.hh:28
Generated by
1.8.5