|
||||
File indexing completed on 2024-09-27 07:03:38
0001 /////////////////////////////////////////////////////////////////////////// 0002 // 0003 // Copyright 2010 0004 // 0005 // This file is part of starlight. 0006 // 0007 // starlight 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 // starlight 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 starlight. If not, see <http://www.gnu.org/licenses/>. 0019 // 0020 /////////////////////////////////////////////////////////////////////////// 0021 // 0022 // File and Version Information: 0023 // $Rev:: 262 $: revision of last commit 0024 // $Author:: jnystrand $: author of last commit 0025 // $Date:: 2016-06-01 14:14:20 +0100 #$: date of last commit 0026 // 0027 // Description: 0028 // 0029 // 0030 // 0031 /////////////////////////////////////////////////////////////////////////// 0032 0033 0034 #ifndef NUCLEUS_H 0035 #define NUCLEUS_H 0036 0037 0038 #include <cmath> 0039 0040 0041 //This class holds the information for a target nucleus 0042 class nucleus 0043 { 0044 0045 public: 0046 nucleus(); 0047 nucleus(const int Z, 0048 const int A, 0049 const int productionMode); 0050 ~nucleus(); 0051 0052 void init(); 0053 0054 int Z () const { return _Z; } ///< returns atomic number of nucleus 0055 int A () const { return _A; } ///< returns nucleon number of nucleus 0056 int productionMode () const { return _productionMode; } 0057 0058 double formFactor(const double t) const; 0059 // Calculates form factor for given squared 4-momentum transfer 0060 0061 double dipoleFormFactor(const double t, const double t0) const; 0062 // Calculates dipole form factor with t0 as parameter 0063 0064 double thickness (const double b) const; 0065 // Calculates nuclear thickness function 0066 0067 double nuclearRadius() const { return _Radius; } 0068 double rho0() const { return _rho0; } 0069 0070 private: 0071 0072 double woodSaxonSkinDepth() const { return 0.53; } // 0.53 fm skin depth 0073 double rws(const double r) const; 0074 0075 int _Z; ///< atomic number of nucleus 0076 int _A; ///< nucleon number of nucleus 0077 int _productionMode; 0078 0079 double _r0; 0080 double _Radius; 0081 double _rho0; 0082 0083 }; 0084 0085 0086 #endif // NUCLEUS_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |