Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:58:11

0001 //
0002 // ********************************************************************
0003 // * License and Disclaimer                                           *
0004 // *                                                                  *
0005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
0006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
0007 // * conditions of the Geant4 Software License,  included in the file *
0008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
0009 // * include a list of copyright holders.                             *
0010 // *                                                                  *
0011 // * Neither the authors of this software system, nor their employing *
0012 // * institutes,nor the agencies providing financial support for this *
0013 // * work  make  any representation or  warranty, express or implied, *
0014 // * regarding  this  software system or assume any liability for its *
0015 // * use.  Please see the license in the file  LICENSE  and URL above *
0016 // * for the full disclaimer and the limitation of liability.         *
0017 // *                                                                  *
0018 // * This  code  implementation is the result of  the  scientific and *
0019 // * technical work of the GEANT4 collaboration.                      *
0020 // * By using,  copying,  modifying or  distributing the software (or *
0021 // * any work based  on the software)  you  agree  to acknowledge its *
0022 // * use  in  resulting  scientific  publications,  and indicate your *
0023 // * acceptance of all terms of the Geant4 Software license.          *
0024 // ********************************************************************
0025 //
0026 //
0027 // -------------------------------------------------------------------
0028 //
0029 // GEANT4 Class header file
0030 //
0031 //
0032 // File name:     G4eeCrossSections
0033 //
0034 // Author:        Vladimir Ivanchenko
0035 //
0036 // Creation date: 15.08.2004
0037 //
0038 // Modifications:
0039 //
0040 
0041 //
0042 // Class Description:
0043 //
0044 
0045 // -------------------------------------------------------------------
0046 //
0047 
0048 #ifndef G4eeCrossSections_h
0049 #define G4eeCrossSections_h 1
0050 
0051 #include "G4ThreeVector.hh"
0052 #include "globals.hh"
0053 #include <complex>
0054 
0055 class G4PhysicsVector;
0056 
0057 class G4eeCrossSections 
0058 {
0059 
0060 public:
0061 
0062   G4eeCrossSections();
0063 
0064   ~G4eeCrossSections();
0065 
0066   G4double CrossSection2pi(G4double);
0067 
0068   G4double CrossSection3pi(G4double);
0069 
0070   G4double CrossSectionPi0G(G4double);
0071 
0072   G4double CrossSectionEtaG(G4double);
0073 
0074   G4double CrossSection2Kcharged(G4double);
0075 
0076   G4double CrossSection2Kneutral(G4double);
0077 
0078   std::complex<G4double> DpRho(G4double e); 
0079 
0080   // hide assignment operator
0081   G4eeCrossSections & operator=(const  G4eeCrossSections &right) = delete;
0082   G4eeCrossSections(const  G4eeCrossSections&) = delete;
0083 
0084 private:
0085 
0086   void Initialise();
0087 
0088   G4double Width2p(G4double s_inv,  G4double mres, G4double gconst, 
0089                    G4double br, G4double mp);
0090 
0091   G4double Width3p(G4double s_inv,  G4double mres, G4double gconst,
0092                    G4double br);
0093 
0094   G4double PhaseSpace3p(G4double e); 
0095 
0096   G4double WidthPg(G4double s_inv,  G4double mres, G4double gconst,
0097                    G4double br, G4double mp);
0098 
0099   G4double WidthRho(G4double e);
0100 
0101   G4double WidthOm(G4double e);
0102 
0103   G4double WidthPhi(G4double e);
0104 
0105   std::complex<G4double> DpOm(G4double e);
0106 
0107   std::complex<G4double> DpPhi(G4double e);
0108 
0109   G4double MsPi, MsPi0, MsEta, MsEtap, MsKs, MsKc, MsRho, MsOm;
0110   G4double MsF0, MsA0, MsPhi, MsK892, MsK0892;
0111   G4double GRho, GOm, GPhi, GK892, GK0892, PhRho, PhOm, PhPhi, PhRhoPi;
0112   G4double BrRhoPiG, BrRhoPi0G, BrRhoEtaG, BrRhoEe, BrOm3Pi;
0113   G4double BrOmPi0G, BrOmEtaG, BrOm2Pi, PhOm2Pi, BrOmEe;
0114   G4double BrPhi2Kc, BrPhiKsKl, BrPhi3Pi, BrPhiPi0G, BrPhiEtaG;
0115   G4double BrPhi2Pi, PhPhi2Pi, BrPhiEe, MeVnb, Alpha;
0116   G4double AOmRho, ARhoPRho, cterm, mssig, gsig, brsigpipi;
0117   G4double msrho1450, msrho1700, grho1450, grho1700;
0118   G4double arhoompi0, arho1450ompi0, arho1700ompi0, phrhoompi0;
0119   G4double phrho1450ompi0, phrho1700ompi0, aomrhopi0, phomrhopi0;
0120   G4double arhopi0pi0g, aompi0pi0g, phrhopi0pi0g, phompi0pi0g;
0121   G4double brrho1450ompi0, brrho1450pipi, brrho1700ompi0;
0122   G4double brrho1700pipi, aphirhopi0, phphirhopi0;
0123   G4double arhosigg, phrhosigg, aomsigg, phomsigg;
0124 
0125   G4double MsRho3, MsOm3, MsPhi3;
0126 
0127   G4PhysicsVector*  ph3p;
0128 
0129 };
0130 
0131 
0132 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
0133 
0134 #endif