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

Supply MCParticle with total deposited energy from DepG4

parent bf99997a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -110,6 +110,7 @@ G4bool SensitiveDetectorActionG4::ProcessHits(G4Step* step, G4TouchableHistory*)
    // Update current end point with the current last step
    track_end_[trackID] = detector_->getLocalPosition(static_cast<ROOT::Math::XYZPoint>(postStep->GetPosition()));
    track_charge_[trackID] += charge;
    track_deposited_energy_[trackID] += edep;

    // Add new deposit if the charge is more than zero
    if(charge == 0) {
@@ -149,6 +150,7 @@ void SensitiveDetectorActionG4::clearEventInfo() {
    track_pdg_.clear();
    track_time_.clear();
    track_charge_.clear();
    track_deposited_energy_.clear();
    track_total_energy_start_.clear();
    track_kinetic_energy_start_.clear();

@@ -183,6 +185,7 @@ void SensitiveDetectorActionG4::dispatchMessages(Module* module, Messenger* mess
        auto local_end = track_end_.at(track_id);
        auto pdg_code = track_pdg_.at(track_id);
        auto charge = track_charge_.at(track_id);
        auto deposited_energy = track_deposited_energy_.at(track_id);
        auto track_time_global = track_time_.at(track_id);
        auto track_time_local = track_time_global - time_reference;

@@ -192,6 +195,7 @@ void SensitiveDetectorActionG4::dispatchMessages(Module* module, Messenger* mess
            local_begin, global_begin, local_end, global_end, pdg_code, track_time_local, track_time_global);
        // Count electrons and holes:
        mc_particles.back().setTotalDepositedCharge(2 * charge);
        mc_particles.back().setTotalDepositedEnergy(deposited_energy);
        mc_particles.back().setTrack(track_info_manager_->findMCTrack(track_id));
        mc_particles.back().setTotalEnergyStart(track_total_energy_start_.at(track_id));
        mc_particles.back().setKineticEnergyStart(track_kinetic_energy_start_.at(track_id));
+2 −0
Original line number Diff line number Diff line
@@ -151,6 +151,8 @@ namespace allpix {
        std::map<int, double> track_time_;
        // Total charge by track
        std::map<int, unsigned int> track_charge_;
        // Total energy deposited by track
        std::map<int, double> track_deposited_energy_;
        // Total energy by track at start point
        std::map<int, double> track_total_energy_start_;
        // Kinetic energy by track at start point