Commit b782f039 authored by Paul Schütze's avatar Paul Schütze
Browse files

Merge remote-tracking branch 'origin/fix_induction_gain' into fix_induction_gain

parents 9bc8dce7 4d64c5a1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -610,7 +610,7 @@ GenericPropagationModule::propagate(Event* event,
            double log_prob = 1. / std::log1p(-1. / local_gain);
            for(unsigned int i_carrier = 0; i_carrier < charge; ++i_carrier) {
                n_secondaries += static_cast<unsigned int>(
                    std::floor(std::log(uniform_distribution(event->getRandomEngine())) * log_prob));
                n_secondaries += static_cast<unsigned int>(std::log(uniform_distribution(event->getRandomEngine())) * log_prob);
            }

            auto inverted_type = invertCarrierType(type);
@@ -619,7 +619,7 @@ GenericPropagationModule::propagate(Event* event,
                       (inverted_type == CarrierType::HOLE && propagate_holes_);
            };

            if(n_secondaries != 0 && do_propagate()) {
            if(n_secondaries > 0 && do_propagate()) {
                // Generate new charge carriers of the opposite type
                // Same-type charge carriers are generated by increasing the charge at the end of the step
                // Placing new charge carrier at the end of the step:
+1 −2
Original line number Diff line number Diff line
@@ -633,8 +633,7 @@ TransientPropagationModule::propagate(Event* event,
            // secondaries generated in this step
            double log_prob = 1. / std::log1p(-1. / local_gain);
            for(unsigned int i_carrier = 0; i_carrier < charge; ++i_carrier) {
                n_secondaries += static_cast<unsigned int>(
                    std::floor(std::log(uniform_distribution(event->getRandomEngine())) * log_prob));
                n_secondaries += static_cast<unsigned int>(std::log(uniform_distribution(event->getRandomEngine())) * log_prob);
            }
            if(n_secondaries != 0) {
                // Generate new charge carriers of the opposite type