diff --git a/Framework/ProcessSequence/ContinuousProcess.h b/Framework/ProcessSequence/ContinuousProcess.h index 546f368b2f2d677de5faf61fe3660e48956cca21..4da02a77e38423f7d7e0a5c0a8ab39afdea3097a 100644 --- a/Framework/ProcessSequence/ContinuousProcess.h +++ b/Framework/ProcessSequence/ContinuousProcess.h @@ -28,8 +28,14 @@ namespace corsika::process { private: protected: public: - using TDerived = derived; + using _TDerived = TDerived; +<<<<<<< HEAD +======= + TDerived& GetRef() { return static_cast<TDerived&>(*this); } + const TDerived& GetRef() const { return static_cast<const TDerived&>(*this); } + +>>>>>>> renamed base process templates // here starts the interface part // -> enforce TDerived to implement DoContinuous... template <typename TParticle, typename TTrack> diff --git a/Framework/ProcessSequence/InteractionProcess.h b/Framework/ProcessSequence/InteractionProcess.h index 880fbe2070c697a38b1d3704df83a860df57b06e..f413203801b2b61500bb19e9cc74bf5d840893fb 100644 --- a/Framework/ProcessSequence/InteractionProcess.h +++ b/Framework/ProcessSequence/InteractionProcess.h @@ -26,7 +26,9 @@ namespace corsika::process { template <typename TDerived> class InteractionProcess : public BaseProcess<TDerived> { - + public: + using _TDerived = TDerived; + using BaseProcess<TDerived>::GetRef; /// here starts the interface-definition part diff --git a/Framework/ProcessSequence/SecondariesProcess.h b/Framework/ProcessSequence/SecondariesProcess.h index e3f1dfff8719807f08757b0762faf2f311640c9b..8bfd37102c76735970a624b54c6f96527cc965f3 100644 --- a/Framework/ProcessSequence/SecondariesProcess.h +++ b/Framework/ProcessSequence/SecondariesProcess.h @@ -26,7 +26,9 @@ namespace corsika::process { template <typename TDerived> class SecondariesProcess : public BaseProcess<TDerived> { - + public: + using _TDerived = TDerived; + /// here starts the interface-definition part // -> enforce TDerived to implement DoSecondaries... template <typename TSecondaries> diff --git a/Framework/ProcessSequence/StackProcess.h b/Framework/ProcessSequence/StackProcess.h index d54c7944d12b03ee09160c3aec0665bbcc54d469..ad39f1193231378b4a951212c9ee23a1f54ba012 100644 --- a/Framework/ProcessSequence/StackProcess.h +++ b/Framework/ProcessSequence/StackProcess.h @@ -25,13 +25,22 @@ namespace corsika::process { */ template <typename TDerived> - class StackProcess : public BaseProcess<TDerived> { + class StackProcess : public BaseProcess<TDerived>{ + private: + protected: + using _TDerived = TDerived; public: StackProcess() = delete; StackProcess(const unsigned int nStep) : fNStep(nStep) {} +<<<<<<< HEAD +======= + TDerived& GetRef() { return static_cast<TDerived&>(*this); } + const TDerived& GetRef() const { return static_cast<const TDerived&>(*this); } + +>>>>>>> renamed base process templates /// here starts the interface-definition part // -> enforce TDerived to implement DoStack... template <typename TStack>