IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 57db412e authored by ralfulrich's avatar ralfulrich
Browse files

added a few more nuclei

parent 3deda857
No related branches found
No related tags found
No related merge requests found
......@@ -43,9 +43,10 @@ target_link_libraries (
target_include_directories (
COAST
PUBLIC
$ENV{COAST_DIR}/include
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include/include>
SYSTEM
$ENV{COAST_DIR}/include
)
install (
......
......@@ -52,8 +52,8 @@ namespace corsika::coast {
MomentumVector GetMomentum(const corsika::geometry::CoordinateSystem& cs) const {
using namespace corsika::units::si;
const HEPEnergyType mass = corsika::particles::GetMass(GetPID());
auto P = sqrt((GetEnergy() - mass) * (GetEnergy() + mass));
auto p = GetStackData().GetDirection(cs, GetIndex());
const auto P = sqrt((GetEnergy() - mass) * (GetEnergy() + mass));
const auto p = GetStackData().GetDirection(cs, GetIndex());
return p * P;
}
......@@ -129,9 +129,9 @@ namespace corsika::coast {
const corsika::geometry::CoordinateSystem& cs, const int) const {
using namespace corsika::units::si;
corsika::geometry::Point p1(
cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->y * 1_cm});
cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->z * 1_cm});
corsika::geometry::Point p2(
cs, {fParticle2->x * 1_cm, fParticle2->y * 1_cm, fParticle2->y * 1_cm});
cs, {fParticle2->x * 1_cm, fParticle2->y * 1_cm, fParticle2->z * 1_cm});
const corsika::geometry::Vector D = p2 - p1;
const auto magD = D.norm();
const corsika::geometry::Vector dir = D / magD;
......@@ -143,12 +143,12 @@ namespace corsika::coast {
corsika::geometry::Vector<corsika::units::si::dimensionless_d> dir =
GetDirection(cs, 0);
corsika::geometry::Point p1(
cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->y * 1_cm});
cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->z * 1_cm});
corsika::geometry::Point p2(
cs, {fParticle2->x * 1_cm, fParticle2->y * 1_cm, fParticle2->y * 1_cm});
cs, {fParticle2->x * 1_cm, fParticle2->y * 1_cm, fParticle2->z * 1_cm});
const corsika::geometry::Vector D = p2 - p1;
const LengthType magD = D.norm();
const TimeType deltaT = (fParticle2->time - fParticle1->time) * 1_ns;
const TimeType deltaT = GetTimeInterval();
return dir * magD / deltaT;
}
corsika::geometry::Point GetPosition(const corsika::geometry::CoordinateSystem& cs,
......
......@@ -20,6 +20,10 @@ using namespace std;
namespace corsika::coast {
/**
Convert particle code, and check if it does exists. Throw exeption, if not!
*/
corsika::particles::Code ConvertFromCoast(CoastCode pCode) {
if (coast2corsika.count(pCode) == 0) {
ostringstream err;
......@@ -30,7 +34,5 @@ namespace corsika::coast {
}
return coast2corsika.find(pCode)->second;
}
// process::sibyll::Sibyll2Corsika = {
// {PID::E_MINUS, InternalParticleCode::Electron},
//};
} // namespace corsika::coast
......@@ -20,6 +20,9 @@
namespace corsika::coast {
/**
Here we define the original CORSIKA particle codes, see corsika manual
*/
enum class CoastCode : int16_t {
Gamma = 1,
Positron = 2,
......@@ -90,14 +93,31 @@ namespace corsika::coast {
Code95 = 95,
Code96 = 96,
ProtonNucleus = 101,
Deuterium = 201,
Tritium = 301,
He3 = 302,
Helium = 402,
Carbon = 612,
Nitrogen = 714,
Oxygen = 816,
Lithium = 603,
Beryllium = 904,
Boron = 1005,
Carbon = 1206,
Nitrogen = 1407,
Oxygen = 1608,
Neon = 2210,
Argon = 1838,
Iron = 5628,
Xenon = 12854,
Radon = 13888,
};
using CoastCodeIntType = std::underlying_type<CoastCode>::type;
/**
Here we convert CORSIKA7 to CORSIKA8 codes
*/
const std::map<corsika::coast::CoastCode, corsika::particles::Code> coast2corsika = {
{CoastCode::Gamma, corsika::particles::Code::Gamma},
{CoastCode::Positron, corsika::particles::Code::Positron},
......@@ -164,13 +184,24 @@ namespace corsika::coast {
{CoastCode::Code95, corsika::particles::Code::Unknown},
{CoastCode::Code96, corsika::particles::Code::Unknown},
{CoastCode::ProtonNucleus, corsika::particles::Code::Proton}, // 101
{CoastCode::Deuterium, corsika::particles::Code::Deuterium},
{CoastCode::Tritium, corsika::particles::Code::Tritium},
{CoastCode::He3, corsika::particles::Code::Helium3},
{CoastCode::Helium, corsika::particles::Code::Helium}, // 402
{CoastCode::Lithium, corsika::particles::Code::Lithium},
{CoastCode::Beryllium, corsika::particles::Code::Beryllium},
{CoastCode::Boron, corsika::particles::Code::Boron},
{CoastCode::Carbon, corsika::particles::Code::Carbon},
{CoastCode::Nitrogen, corsika::particles::Code::Nitrogen},
{CoastCode::Oxygen, corsika::particles::Code::Oxygen},
{CoastCode::Neon, corsika::particles::Code::Neon},
{CoastCode::Argon, corsika::particles::Code::Argon},
{CoastCode::Xenon, corsika::particles::Code::Xenon},
{CoastCode::Radon, corsika::particles::Code::Radon},
{CoastCode::Iron, corsika::particles::Code::Iron}, // 5628
//{CoastCode::, corsika::particles::Code::}
//{CoastCode::, corsika::particles::Code::},
};
......
......@@ -12,6 +12,18 @@
<particle id="1000020040" name="helium" A="4" Z="2" >
</particle>
<particle id="1000020030" name="helium3" A="3" Z="2" >
</particle>
<particle id="1000020030" name="lithium" A="6" Z="3" >
</particle>
<particle id="1000020030" name="beryllium" A="9" Z="4" >
</particle>
<particle id="1000020030" name="boron" A="10" Z="5" >
</particle>
<particle id="1000060120" name="carbon" A="12" Z="6" >
</particle>
......@@ -21,10 +33,22 @@
<particle id="1000080160" name="oxygen" A="16" Z="8" >
</particle>
<particle id="1000180400" name="neon" A="22" Z="10" >
</particle>
<particle id="1000180400" name="argon" A="40" Z="18" >
</particle>
<particle id="1000280560" name="iron" A="56" Z="28" >
</particle>
<particle id="1000180400" name="xenon" A="128" Z="54" >
</particle>
<particle id="1000180400" name="radon" A="138" Z="88" >
</particle>
<particle id="1000280560" name="lead" A="208" Z="82" >
</particle>
</chapter>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment