diff --git a/Documentation/Examples/cascade_example.cc b/Documentation/Examples/cascade_example.cc index 35115b31b03e6053f7d04d3236078412c003f110..34b55476d9a4f869bd9a29c51688d0f49e680c37 100644 --- a/Documentation/Examples/cascade_example.cc +++ b/Documentation/Examples/cascade_example.cc @@ -12,6 +12,7 @@ #include <corsika/cascade/Cascade.h> #include <corsika/process/ProcessSequence.h> #include <corsika/process/stack_inspector/StackInspector.h> +#include <corsika/process/tracking_line/TrackingLine.h> #include <corsika/setup/SetupStack.h> #include <corsika/setup/SetupTrajectory.h> @@ -40,7 +41,7 @@ public: ProcessSplit() {} template <typename Particle> - double MinStepLength(Particle& p) const { + double MinStepLength(Particle& p, setup::Trajectory&) const { // beam particles for sibyll : 1, 2, 3 for p, pi, k // read from cross section code table @@ -91,7 +92,7 @@ public: return next_step; } - template <typename Particle, typename Trajectory, typename Stack> + template <typename Particle, typename Stack> EProcessReturn DoContinuous(Particle&, Trajectory&, Stack&) const { // corsika::utls::ignore(p); return EProcessReturn::eOk; @@ -237,12 +238,13 @@ double s_rndm_(int&) { int main() { - stack_inspector::StackInspector<setup::Stack, setup::Trajectory> p0(true); + tracking_line::TrackingLine<setup::Stack> tracking; + stack_inspector::StackInspector<setup::Stack> p0(true); ProcessSplit p1; const auto sequence = p0 + p1; setup::Stack stack; - corsika::cascade::Cascade EAS(sequence, stack); + corsika::cascade::Cascade EAS(tracking, sequence, stack); stack.Clear(); auto particle = stack.NewParticle(); diff --git a/Framework/Cascade/testCascade.cc b/Framework/Cascade/testCascade.cc index 254e08a8ea2a3aab7a10af76100278e526b67e14..ad4daa2e4df0a554727f1a0584cc88a3af3cff72 100644 --- a/Framework/Cascade/testCascade.cc +++ b/Framework/Cascade/testCascade.cc @@ -13,6 +13,7 @@ #include <corsika/process/ProcessSequence.h> #include <corsika/process/stack_inspector/StackInspector.h> +#include <corsika/process/tracking_line/TrackingLine.h> #include <corsika/stack/super_stupid/SuperStupidStack.h> @@ -72,26 +73,10 @@ public: private: }; -template <typename Stack> -class NewtonTracking { // naja.. not yet - typedef typename Stack::ParticleType Particle; - -public: - void Init() {} - corsika::setup::Trajectory GetTrack(Particle& p) { - corsika::geometry::Vector<SpeedType::dimension_type> v = p.GetDirection(); - corsika::geometry::Line traj(p.GetPosition(), v); - { - CoordinateSystem& rootCS = RootCoordinateSystem::GetInstance().GetRootCS(); - cout << v.GetComponents(rootCS) << endl; - } - return corsika::geometry::Trajectory<corsika::geometry::Line>(traj, 100_ns); - } -}; TEST_CASE("Cascade", "[Cascade]") { - NewtonTracking<setup::Stack> tracking; + tracking_line::TrackingLine<setup::Stack> tracking; stack_inspector::StackInspector<setup::Stack> p0(true); ProcessSplit p1; @@ -108,7 +93,7 @@ TEST_CASE("Cascade", "[Cascade]") { particle.SetEnergy(E0); particle.SetPosition(Point(rootCS, {0_m, 0_m, 10_km})); particle.SetMomentum( - corsika::stack::super_stupid::MomentumVector(rootCS, {0_GeV, 0_GeV, -1_MeV})); + corsika::stack::super_stupid::MomentumVector(rootCS, {0*newton*second, 0*newton*second, -1*newton*second})); EAS.Init(); EAS.Run(); diff --git a/Processes/StackInspector/StackInspector.h b/Processes/StackInspector/StackInspector.h index 2469f83387c0b08044890ca1babfc4b2c454f8b6..e40517499d7c07b984c5d9b30caac469269cf649 100644 --- a/Processes/StackInspector/StackInspector.h +++ b/Processes/StackInspector/StackInspector.h @@ -16,9 +16,6 @@ #include <corsika/setup/SetupTrajectory.h> -// namespace corsika::setup { -// class BaseTrajectory; -//} namespace corsika::process {