Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/celeritas/inp/Particle.hh was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 //------------------------------- -*- C++ -*- -------------------------------//
0002 // Copyright Celeritas contributors: see top-level COPYRIGHT file for details
0003 // SPDX-License-Identifier: (Apache-2.0 OR MIT)
0004 //---------------------------------------------------------------------------//
0005 //! \file celeritas/inp/Particle.hh
0006 //---------------------------------------------------------------------------//
0007 #pragma once
0008 
0009 #include <string>
0010 
0011 #include "corecel/Types.hh"
0012 #include "corecel/math/Quantity.hh"
0013 #include "celeritas/Types.hh"
0014 #include "celeritas/UnitTypes.hh"
0015 #include "celeritas/phys/PDGNumber.hh"
0016 
0017 namespace celeritas
0018 {
0019 namespace inp
0020 {
0021 //---------------------------------------------------------------------------//
0022 /*!
0023  * Particle data.
0024  */
0025 struct Particle
0026 {
0027     using Charge = Quantity<units::EElectron, double>;
0028     using MevMass = Quantity<units::MevPerCsq, double>;
0029 
0030     //! Particle name
0031     std::string name;
0032     //! PDG code (see "Review of Particle Physics")
0033     PDGNumber pdg;
0034     //! Rest mass [MeV / c^2]
0035     MevMass mass;
0036     //! Elementary charge [e]
0037     Charge charge;
0038     //! Decay constant [1/time]
0039     double decay_constant{constants::stable_decay_constant};
0040 };
0041 
0042 //---------------------------------------------------------------------------//
0043 }  // namespace inp
0044 }  // namespace celeritas