IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 32c94f8b authored by ralfulrich's avatar ralfulrich
Browse files

times in COAST comes in seconds not ns...

parent 57db412e
No related branches found
No related tags found
1 merge request!64added a few more nuclei
Pipeline #243 passed
......@@ -30,8 +30,9 @@ namespace corsika::coast {
the stack from here (docontinuous) inside corisika7. In corsika8
you will be able to do that.
*/
corsika::process::EProcessReturn COASTProcess::DoContinuous(Particle& p, Track& t,
Stack&) {
corsika::process::EProcessReturn COASTProcess::DoContinuous(const Particle& p,
const Track& t,
const Stack&) {
using namespace corsika::units::si;
auto const start = t.GetPosition(0).GetCoordinates();
auto const delta = t.GetPosition(1).GetCoordinates() - start;
......
......@@ -21,7 +21,8 @@ namespace corsika::coast {
public:
void Init();
corsika::process::EProcessReturn DoContinuous(Particle&, Track&, Stack&);
corsika::process::EProcessReturn DoContinuous(const Particle&, const Track&,
const Stack&);
corsika::units::si::LengthType MaxStepLength(Particle&, Track&) {
return corsika::units::si::meter * std::numeric_limits<double>::infinity();
......
......@@ -53,7 +53,7 @@ namespace corsika::coast {
using namespace corsika::units::si;
const HEPEnergyType mass = corsika::particles::GetMass(GetPID());
const auto P = sqrt((GetEnergy() - mass) * (GetEnergy() + mass));
const auto p = GetStackData().GetDirection(cs, GetIndex());
const auto p = GetStackData().GetDirection(cs);
return p * P;
}
......@@ -73,7 +73,7 @@ namespace corsika::coast {
corsika::geometry::Vector<corsika::units::si::dimensionless_d> GetDirection(
const corsika::geometry::CoordinateSystem& cs) const {
return GetStackData().GetDirection(cs, GetIndex());
return GetStackData().GetDirection(cs);
}
corsika::units::si::TimeType GetTimeInterval() const {
......@@ -126,7 +126,7 @@ namespace corsika::coast {
return fParticle1->energy * 1_GeV;
}
corsika::geometry::Vector<corsika::units::si::dimensionless_d> GetDirection(
const corsika::geometry::CoordinateSystem& cs, const int) const {
const corsika::geometry::CoordinateSystem& cs) const {
using namespace corsika::units::si;
corsika::geometry::Point p1(
cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->z * 1_cm});
......@@ -141,7 +141,7 @@ namespace corsika::coast {
const corsika::geometry::CoordinateSystem& cs, const int) const {
using namespace corsika::units::si;
corsika::geometry::Vector<corsika::units::si::dimensionless_d> dir =
GetDirection(cs, 0);
GetDirection(cs);
corsika::geometry::Point p1(
cs, {fParticle1->x * 1_cm, fParticle1->y * 1_cm, fParticle1->z * 1_cm});
corsika::geometry::Point p2(
......@@ -159,12 +159,12 @@ namespace corsika::coast {
}
corsika::units::si::TimeType GetTime(const int) const {
using namespace corsika::units::si;
return fParticle1->time * 1_ns;
return fParticle1->time * 1_s;
}
corsika::units::si::TimeType GetTimeInterval() const {
using namespace corsika::units::si;
return (fParticle2->time - fParticle1->time) * 1_ns;
return (fParticle2->time - fParticle1->time) * 1_s;
}
/**
......
......@@ -84,14 +84,12 @@ extern "C" void track_([[maybe_unused]] const crs::CParticle& pre,
int hadronicGeneration;
*/
gCOASTStack.SetParticle(&pre, &post);
auto particle = gCOASTStack.GetNextParticle();
geometry::CoordinateSystem& rootCS =
const auto particle = gCOASTStack.GetNextParticle();
const geometry::CoordinateSystem& rootCS =
geometry::RootCoordinateSystem::GetInstance().GetRootCoordinateSystem();
geometry::Line const line(particle.GetPosition(rootCS), particle.GetVelocity(rootCS));
const TimeType time = particle.GetTimeInterval();
geometry::Trajectory<geometry::Line> track(line, time);
const geometry::Trajectory<geometry::Line> track(line, time);
gCorsikaProcess.DoContinuous(particle, track, gCOASTStack);
}
......
......@@ -23,7 +23,7 @@ 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;
......
......@@ -98,26 +98,26 @@ namespace corsika::coast {
Tritium = 301,
He3 = 302,
Helium = 402,
Lithium = 603,
Beryllium = 904,
Boron = 1005,
Carbon = 1206,
Lithium = 603,
Beryllium = 904,
Boron = 1005,
Carbon = 1206,
Carbon13 = 1306,
Nitrogen = 1407,
Oxygen = 1608,
Neon = 2210,
Argon = 1838,
Neon = 2210,
Argon = 1838,
Iron = 5628,
Xenon = 12854,
Radon = 13888,
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},
......@@ -189,10 +189,11 @@ namespace corsika::coast {
{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::Lithium, corsika::particles::Code::Lithium},
{CoastCode::Beryllium, corsika::particles::Code::Beryllium},
{CoastCode::Boron, corsika::particles::Code::Boron},
{CoastCode::Carbon, corsika::particles::Code::Carbon},
{CoastCode::Carbon13, corsika::particles::Code::Carbon13},
{CoastCode::Nitrogen, corsika::particles::Code::Nitrogen},
{CoastCode::Oxygen, corsika::particles::Code::Oxygen},
{CoastCode::Neon, corsika::particles::Code::Neon},
......@@ -201,7 +202,7 @@ namespace corsika::coast {
{CoastCode::Radon, corsika::particles::Code::Radon},
{CoastCode::Iron, corsika::particles::Code::Iron}, // 5628
//{CoastCode::, corsika::particles::Code::},
//{CoastCode::, corsika::particles::Code::},
};
......
......@@ -27,13 +27,16 @@
<particle id="1000060120" name="carbon" A="12" Z="6" >
</particle>
<particle id="1000060120" name="carbon13" A="13" Z="6" >
</particle>
<particle id="1000070140" name="nitrogen" A="14" Z="7" >
</particle>
<particle id="1000080160" name="oxygen" A="16" Z="8" >
</particle>
<particle id="1000180400" name="neon" A="22" Z="10" >
<particle id="1000100220" name="neon" A="22" Z="10" >
</particle>
<particle id="1000180400" name="argon" A="40" Z="18" >
......@@ -42,13 +45,13 @@
<particle id="1000280560" name="iron" A="56" Z="28" >
</particle>
<particle id="1000180400" name="xenon" A="128" Z="54" >
<particle id="1000541280" name="xenon" A="128" Z="54" >
</particle>
<particle id="1000180400" name="radon" A="138" Z="88" >
<particle id="1000822080" name="lead" A="208" Z="82" >
</particle>
<particle id="1000280560" name="lead" A="208" Z="82" >
<particle id="1000862220" name="radon" A="222" Z="86" >
</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