]>
Commit | Line | Data |
---|---|---|
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 | */ | |
15 | class EvtIncoherentMixing { | |
16 | public: | |
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 | ||
66 | protected: | |
67 | ||
68 | private: | |
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 |