IAP GITLAB

Skip to content
Snippets Groups Projects
Commit c9b778c8 authored by Nikos Karastathis's avatar Nikos Karastathis :ocean:
Browse files

TimeCut class implemented

parent 29aff2eb
No related branches found
No related tags found
1 merge request!329Radio interface
/*
* (c) Copyright 2020 CORSIKA Project, corsika-project@lists.kit.edu
*
* This software is distributed under the terms of the GNU General Public
* Licence version 3 (GPL Version 3). See file LICENSE for a full version of
* the license.
*/
#pragma once
#include <corsika/modules/TimeCut.hpp>
namespace corsika {
inline TimeCut::TimeCut(const TimeType time)
: time_(time) {}
inline ProcessReturn TimeCut::doContinuous(
corsika::setup::Stack::particle_type& particle, corsika::setup::Trajectory const&,
bool const) {
CORSIKA_LOG_TRACE("TimeCut::doContinuous");
if (particle.getTime() >= time_) {
CORSIKA_LOG_TRACE("stopping continuous process");
return ProcessReturn::ParticleAbsorbed;
}
return ProcessReturn::Ok;
}
} // namespace corsika
/*
* (c) Copyright 2020 CORSIKA Project, corsika-project@lists.kit.edu
*
* This software is distributed under the terms of the GNU General Public
* Licence version 3 (GPL Version 3). See file LICENSE for a full version of
* the license.
*/
#pragma once
#include <corsika/framework/core/ParticleProperties.hpp>
#include <corsika/framework/core/PhysicalUnits.hpp>
#include <corsika/framework/process/ContinuousProcess.hpp>
#include <corsika/setup/SetupStack.hpp>
#include <corsika/setup/SetupTrajectory.hpp>
namespace corsika {
/*
* Simple TimeCut process. Stops the sequence at the indicated time
*/
class TimeCut : public ContinuousProcess<TimeCut> {
public:
TimeCut(TimeType const time);
ProcessReturn doContinuous(
corsika::setup::Stack::particle_type& vParticle,
corsika::setup::Trajectory const& vTrajectory,
const bool limitFlag = false); // this is not used for TimeCut
LengthType getMaxStepLength(corsika::setup::Stack::particle_type const&,
corsika::setup::Trajectory const&) {
return meter * std::numeric_limits<double>::infinity();
}
private:
TimeType time_;
};
} // namespace corsika
#include <corsika/detail/modules/TimeCut.inl>
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