Back to home page

EIC code displayed by LXR

 
 

    


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_PHYSICS_DECAY_LOADED
0021 #define LAGER_PHYSICS_DECAY_LOADED
0022 
0023 #include <lager/core/particle.hh>
0024 #include <tuple>
0025 
0026 namespace lager {
0027 namespace physics {
0028 
0029 // =============================================================================
0030 // GENERIC TWO BODY DECAY
0031 // =============================================================================
0032 
0033 // two body decay of a particle 'part' into two particles xx (xx.first,
0034 // xx.second), with angles of the first decay particle ('theta1', 'phi1')
0035 //
0036 // Note: the angles are assumed to be in the helicity frame of 'part'
0037 void decay_2body(const particle& part, const double theta_1, const double phi_1,
0038                  std::pair<particle, particle>& xx);
0039 // same, but will also store the decay particles in the helicity frame
0040 void decay_2body(const particle& part, const double theta_1, const double phi_1,
0041                  std::pair<particle, particle>& xx,
0042                  std::pair<particle, particle>& xx_cm);
0043 
0044 } // physics
0045 } // lager
0046 
0047 #endif