]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenBase/EvtIncoherentMixing.hh
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtIncoherentMixing.hh
CommitLineData
0ca57c2f 1// $Id: EvtIncoherentMixing.hh,v 1.6 2009-11-25 13:41:59 mwhitehe Exp $
2#ifndef EVTINCOHERENTMIXING_HH
3#define EVTINCOHERENTMIXING_HH 1
4
5// Include files
6
7#include "EvtGenBase/EvtParticle.hh"
8
9/** @class EvtIncoherentMixing EvtIncoherentMixing.hh EvtGenBase/EvtIncoherentMixing.hh
10 * Class to contain the parameters of the incoherent B0 and B0S mixing
11 *
12 * @author Patrick Robbe
13 * @date 2003-10-09
14 */
15class EvtIncoherentMixing {
16public:
17 /// Standard constructor
18 EvtIncoherentMixing( );
19
20 ~EvtIncoherentMixing( ) ; ///< Destructor
21
22 // activate or desactivate the Bs mixing
23 static void setB0Mixing() ;
24 static void unsetB0Mixing() ;
25
26 // activate or desactivate the B0 mixing
27 static void setBsMixing() ;
28 static void unsetBsMixing() ;
29
30 // is mixing activated ?
31 static bool doB0Mixing() ;
32 static bool doBsMixing() ;
33
34 // set values for the mixing
35 static void setdGammad( double value ) ;
36 static void setdeltamd( double value ) ;
37 static void setdGammas( double value ) ;
38 static void setdeltams( double value ) ;
39
40 // get parameters for mixing
41 static double getdGammad() ;
42 static double getdeltamd() ;
43 static double getdGammas() ;
44 static double getdeltams() ;
45
46 // Functions to obtain time and type of the mixing ( 1 mix, 0 unmix )
47 static void incoherentB0Mix( const EvtId id, double &t, int &mix ) ;
48 static void incoherentBsMix( const EvtId id, double &t, int &mix ) ;
49
50 // Functions to check if a B has mixed (comes from a B)
51 static bool isB0Mixed( EvtParticle * ) ;
52 static bool isBsMixed( EvtParticle * ) ;
53
54 // Functions for CP models
55 // returns for particle p the decay time t , the flavour of the tag
56 // side (B0, anti-B0, B_s0, anti-B_s0). The flavour of p can flip
57 // with probability probB
58 static void OtherB( EvtParticle * p , double & t , EvtId & otherb ,
59 double probB ) ;
60 static void OtherB( EvtParticle * p , double & t , EvtId & otherb ) ;
61
62 static bool flipIsEnabled() ;
63 static void enableFlip() ;
64 static void disableFlip() ;
65
66protected:
67
68private:
69
70 static bool _doB0Mixing ;
71 static bool _doBsMixing ;
72 static double _dGammad ;
73 static double _deltamd ;
74 static double _dGammas ;
75 static double _deltams ;
76 static bool _enableFlip ;
77};
78#endif // EVTGENBASE_EVTINCOHERENTMIXING_HH