![]() |
|
|||
File indexing completed on 2025-04-19 09:10:04
0001 #ifndef HADRONS_Main_Mixing_Handler_H 0002 #define HADRONS_Main_Mixing_Handler_H 0003 0004 #include "ATOOLS/Phys/Flavour.H" 0005 #include "ATOOLS/Org/Scoped_Settings.H" 0006 #include <map> 0007 0008 namespace ATOOLS { 0009 class Blob; 0010 class Particle; 0011 } 0012 0013 namespace HADRONS { 0014 class Hadron_Decay_Table; 0015 class Hadron_Decay_Channel; 0016 0017 /** 0018 * Provides the physics needed to deal with mixing phenomena. This includes 0019 * - explicit mixing in the event record 0020 * - CP rate asymmetries in a decay channel 0021 */ 0022 class Mixing_Handler { 0023 private: 0024 std::map<ATOOLS::Flavour, bool> m_mixing_switch, m_interference_switch; 0025 0026 /** 0027 * Determines the time relevant for mixing of that particle. Usually this 0028 * is simply the decay time, but in coherent production it is the time 0029 * difference between the two coherently produced particles. 0030 * 0031 * @param decayer Decaying particle 0032 * @param checkforpartstatus How to look for coherent sister particle 0033 * 0034 * @return Mixing time. 0035 */ 0036 double DetermineMixingTime(ATOOLS::Particle* decayer, 0037 bool checkforpartstatus) const; 0038 0039 public: 0040 Mixing_Handler(ATOOLS::Scoped_Settings s); 0041 ~Mixing_Handler(); 0042 0043 /** 0044 * Determine whether an explicit mixing event of the decayer happens 0045 * and if yes, return the created mixing blob. 0046 * 0047 * @param decayer Decaying particle 0048 * 0049 * @return true if mixing happened, false if not. 0050 */ 0051 bool PerformMixing(ATOOLS::Particle* decayer) const; 0052 0053 /** 0054 * Sets the CP asymmetries for a certain particle's decay table taking 0055 * into account the interference between mixing and decay of a particle. 0056 * 0057 * @param decayer Decaying particle 0058 * @param table Hadron_Decay_Table to adjust for these asymmetries 0059 * 0060 * @return true if decay table needed adjustment, false if not 0061 */ 0062 Hadron_Decay_Channel* Select(ATOOLS::Particle* decayer, 0063 Hadron_Decay_Table& table) const; 0064 }; 0065 } 0066 0067 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |