|
|
|||
File indexing completed on 2026-08-06 09:20:02
0001 0002 /*********************************************************************** 0003 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors * 0004 * * 0005 * This file is part of EvtGen. * 0006 * * 0007 * EvtGen is free software: you can redistribute it and/or modify * 0008 * it under the terms of the GNU General Public License as published by * 0009 * the Free Software Foundation, either version 3 of the License, or * 0010 * (at your option) any later version. * 0011 * * 0012 * EvtGen is distributed in the hope that it will be useful, * 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 0015 * GNU General Public License for more details. * 0016 * * 0017 * You should have received a copy of the GNU General Public License * 0018 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. * 0019 ***********************************************************************/ 0020 0021 #ifndef EVTINCOHERENTMIXING_HH 0022 #define EVTINCOHERENTMIXING_HH 1 0023 0024 // Include files 0025 0026 #include "EvtGenBase/EvtParticle.hh" 0027 0028 /** @class EvtIncoherentMixing EvtIncoherentMixing.hh EvtGenBase/EvtIncoherentMixing.hh 0029 * Class to contain the parameters of the incoherent B0 and B0S mixing 0030 * 0031 * @author Patrick Robbe 0032 * @date 2003-10-09 0033 */ 0034 class EvtIncoherentMixing { 0035 public: 0036 /// Standard constructor 0037 EvtIncoherentMixing(); 0038 0039 ~EvtIncoherentMixing(); ///< Destructor 0040 0041 // activate or desactivate the Bs mixing 0042 static void setB0Mixing(); 0043 static void unsetB0Mixing(); 0044 0045 // activate or desactivate the B0 mixing 0046 static void setBsMixing(); 0047 static void unsetBsMixing(); 0048 0049 // is mixing activated ? 0050 static bool doB0Mixing(); 0051 static bool doBsMixing(); 0052 0053 // set values for the mixing 0054 static void setdGammad( double value ); 0055 static void setdeltamd( double value ); 0056 static void setdGammas( double value ); 0057 static void setdeltams( double value ); 0058 0059 // get parameters for mixing 0060 static double getdGammad(); 0061 static double getdeltamd(); 0062 static double getdGammas(); 0063 static double getdeltams(); 0064 0065 // Functions to obtain time and type of the mixing ( 1 mix, 0 unmix ) 0066 static void incoherentB0Mix( const EvtId id, double& t, int& mix ); 0067 static void incoherentBsMix( const EvtId id, double& t, int& mix ); 0068 0069 // Functions to check if a B has mixed (comes from a B) 0070 static bool isB0Mixed( EvtParticle* ); 0071 static bool isBsMixed( EvtParticle* ); 0072 0073 // Functions for CP models 0074 // returns for particle p the decay time t , the flavour of the tag 0075 // side (B0, anti-B0, B_s0, anti-B_s0). The flavour of p can flip 0076 // with probability probB 0077 static void OtherB( EvtParticle* p, double& t, EvtId& otherb, double probB ); 0078 static void OtherB( EvtParticle* p, double& t, EvtId& otherb ); 0079 0080 static bool flipIsEnabled(); 0081 static void enableFlip(); 0082 static void disableFlip(); 0083 0084 protected: 0085 private: 0086 static bool _doB0Mixing; 0087 static bool _doBsMixing; 0088 static double _dGammad; 0089 static double _deltamd; 0090 static double _dGammas; 0091 static double _deltams; 0092 static bool _enableFlip; 0093 }; 0094 #endif // EVTGENBASE_EVTINCOHERENTMIXING_HH
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|