|
|
|||
File indexing completed on 2026-09-27 09:14:59
0001 // lAger: General Purpose l/A-event Generator 0002 // Copyright (C) 2016-2021 Sylvester Joosten <sjoosten@anl.gov> 0003 // 0004 // This file is part of lAger. 0005 // 0006 // lAger is free software: you can redistribute it and/or modify 0007 // it under the terms of the GNU General Public License as published by 0008 // the Free Shoftware Foundation, either version 3 of the License, or 0009 // (at your option) any later version. 0010 // 0011 // lAger is distributed in the hope that it will be useful, 0012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0014 // GNU General Public License for more details. 0015 // 0016 // You should have received a copy of the GNU General Public License 0017 // along with lAger. If not, see <https://www.gnu.org/licenses/>. 0018 // 0019 0020 #ifndef LAGER_PROC_DECAY_LA_LOADED 0021 #define LAGER_PROC_DECAY_LA_LOADED 0022 0023 #include <lager/core/particle.hh> 0024 #include <lager/gen/lA_event.hh> 0025 #include <lager/physics/decay.hh> 0026 #include <lager/proc/decay/decay.hh> 0027 0028 namespace lager { 0029 namespace decay { 0030 // ============================================================================= 0031 // DECAY ALL UNSTABLE PARTICLES IN A GAMMA_P EVENT 0032 // 0033 // also handles chained decays 0034 // 0035 // Supported channels: 0036 // * Pc according to Wang 0037 // * e+e- decay of VMs 0038 // 0039 // Note: adds event weight to account for branching ratios when not simulating 0040 // the full decay width 0041 // ============================================================================= 0042 class radiative_decay_vm { 0043 public: 0044 radiative_decay_vm(); 0045 void process(lA_event& e, const int vm_index); 0046 }; 0047 0048 class lA : public decay<lA_event> { 0049 public: 0050 using base_type = decay<lA_event>; 0051 lA(const configuration&, const string_path&, std::shared_ptr<TRandom> r); 0052 virtual void process(lA_event& e) const; 0053 0054 private: 0055 void quarkonium_schc(lA_event& e, const int index) const; 0056 void quarkonium_radcor_only(lA_event& e, const int index) const; 0057 void pentaquark_qpq(lA_event& e, const int index) const; 0058 0059 const particle vm_decay_lplus_; 0060 const particle vm_decay_lminus_; 0061 const double vm_decay_br_; 0062 std::unique_ptr<radiative_decay_vm> radiative_decay_; 0063 }; 0064 0065 } // namespace decay 0066 } // namespace lager 0067 0068 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|