Loading src/modules/GenericPropagation/GenericPropagationModule.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -660,8 +660,12 @@ void GenericPropagationModule::run(Event* event) { } // Propagate a single charge deposit auto [final_position, time, alive, trapped] = propagate( initial_position, deposit.getType(), deposit.getLocalTime(), event->getRandomEngine(), output_plot_points); auto [final_position, time, alive, trapped] = propagate(initial_position, deposit.getType(), deposit.getLocalTime(), event->getRandomEngine(), output_plot_points, charge_per_step); if(!alive) { LOG(DEBUG) << " Recombined " << charge_per_step << " at " << Units::display(final_position, {"mm", "um"}) Loading Loading @@ -743,7 +747,8 @@ GenericPropagationModule::propagate(const ROOT::Math::XYZPoint& pos, const CarrierType& type, const double initial_time, RandomNumberGenerator& random_generator, OutputPlotPoints& output_plot_points) const { OutputPlotPoints& output_plot_points, const unsigned int charge) const { // Create a runge kutta solver using the electric field as step function Eigen::Vector3d position(pos.x(), pos.y(), pos.z()); Loading src/modules/GenericPropagation/GenericPropagationModule.hpp +3 −1 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ namespace allpix { * @param initial_time Initial time passed before propagation starts in local time coordinates * @param random_generator Reference to the random number engine to be used * @param output_plot_points Reference to vector to hold points for line graph output plots * @param charge Total charge of the observed charge carrier set * @return Tuple with the point where the deposit ended after propagation, the time the propagation took and a flag * whether it has recombined or was trapped */ Loading @@ -96,7 +97,8 @@ namespace allpix { const CarrierType& type, const double initial_time, RandomNumberGenerator& random_generator, OutputPlotPoints& output_plot_points) const; OutputPlotPoints& output_plot_points, const unsigned int charge) const; // Local copies of configuration parameters to avoid costly lookup: double temperature_{}, timestep_min_{}, timestep_max_{}, timestep_start_{}, integration_time_{}, Loading Loading
src/modules/GenericPropagation/GenericPropagationModule.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -660,8 +660,12 @@ void GenericPropagationModule::run(Event* event) { } // Propagate a single charge deposit auto [final_position, time, alive, trapped] = propagate( initial_position, deposit.getType(), deposit.getLocalTime(), event->getRandomEngine(), output_plot_points); auto [final_position, time, alive, trapped] = propagate(initial_position, deposit.getType(), deposit.getLocalTime(), event->getRandomEngine(), output_plot_points, charge_per_step); if(!alive) { LOG(DEBUG) << " Recombined " << charge_per_step << " at " << Units::display(final_position, {"mm", "um"}) Loading Loading @@ -743,7 +747,8 @@ GenericPropagationModule::propagate(const ROOT::Math::XYZPoint& pos, const CarrierType& type, const double initial_time, RandomNumberGenerator& random_generator, OutputPlotPoints& output_plot_points) const { OutputPlotPoints& output_plot_points, const unsigned int charge) const { // Create a runge kutta solver using the electric field as step function Eigen::Vector3d position(pos.x(), pos.y(), pos.z()); Loading
src/modules/GenericPropagation/GenericPropagationModule.hpp +3 −1 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ namespace allpix { * @param initial_time Initial time passed before propagation starts in local time coordinates * @param random_generator Reference to the random number engine to be used * @param output_plot_points Reference to vector to hold points for line graph output plots * @param charge Total charge of the observed charge carrier set * @return Tuple with the point where the deposit ended after propagation, the time the propagation took and a flag * whether it has recombined or was trapped */ Loading @@ -96,7 +97,8 @@ namespace allpix { const CarrierType& type, const double initial_time, RandomNumberGenerator& random_generator, OutputPlotPoints& output_plot_points) const; OutputPlotPoints& output_plot_points, const unsigned int charge) const; // Local copies of configuration parameters to avoid costly lookup: double temperature_{}, timestep_min_{}, timestep_max_{}, timestep_start_{}, integration_time_{}, Loading