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