Loading src/modules/DepositionGeant4/SensitiveDetectorActionG4.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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(); Loading Loading @@ -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; Loading @@ -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)); Loading src/modules/DepositionGeant4/SensitiveDetectorActionG4.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -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 Loading src/modules/DepositionLaser/DepositionLaserModule.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -370,6 +370,8 @@ void DepositionLaserModule::run(Event* event) { time_entry_global); // Count electrons and holes: mc_particles[hit.detector].back().setTotalDepositedCharge(2); mc_particles[hit.detector].back().setTotalDepositedEnergy( is_user_optics_ ? 0 : Units::get(1.2398, "eV*m") / wavelength_); // allpix::DepositedCharge for electron deposited_charges[hit.detector].emplace_back(hit_local, Loading src/objects/MCParticle.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,10 @@ unsigned int MCParticle::getTotalDepositedCharge() const { return deposited_char void MCParticle::setTotalDepositedCharge(unsigned int total_charge) { deposited_charge_ = total_charge; } double MCParticle::getTotalDepositedEnergy() const { return deposited_energy_; } void MCParticle::setTotalDepositedEnergy(double total_energy) { deposited_energy_ = total_energy; } int MCParticle::getParticleID() const { return particle_id_; } double MCParticle::getGlobalTime() const { return global_time_; } Loading src/objects/MCParticle.hpp +14 −1 Original line number Diff line number Diff line Loading @@ -131,6 +131,18 @@ namespace allpix { */ unsigned int getTotalDepositedCharge() const; /** * @brief Set the total energy deposited by this particle * @param total_energy Total energy deposited by this particle */ void setTotalDepositedEnergy(double total_energy); /** * @brief Return the total energy deposited by this particle * @return Total energy deposited by this particle */ double getTotalDepositedEnergy() const; /** * @brief Set the Monte-Carlo particle * @param mc_particle The Monte-Carlo particle Loading Loading @@ -169,7 +181,7 @@ namespace allpix { /** * @brief ROOT class definition */ ClassDefOverride(MCParticle, 10); // NOLINT ClassDefOverride(MCParticle, 11); // NOLINT /** * @brief Default constructor for ROOT I/O */ Loading @@ -194,6 +206,7 @@ namespace allpix { double local_time_{}; double global_time_{}; unsigned int deposited_charge_{}; double deposited_energy_{}; double total_energy_start_{}; double kinetic_energy_start_{}; Loading Loading
src/modules/DepositionGeant4/SensitiveDetectorActionG4.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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(); Loading Loading @@ -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; Loading @@ -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)); Loading
src/modules/DepositionGeant4/SensitiveDetectorActionG4.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
src/modules/DepositionLaser/DepositionLaserModule.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -370,6 +370,8 @@ void DepositionLaserModule::run(Event* event) { time_entry_global); // Count electrons and holes: mc_particles[hit.detector].back().setTotalDepositedCharge(2); mc_particles[hit.detector].back().setTotalDepositedEnergy( is_user_optics_ ? 0 : Units::get(1.2398, "eV*m") / wavelength_); // allpix::DepositedCharge for electron deposited_charges[hit.detector].emplace_back(hit_local, Loading
src/objects/MCParticle.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,10 @@ unsigned int MCParticle::getTotalDepositedCharge() const { return deposited_char void MCParticle::setTotalDepositedCharge(unsigned int total_charge) { deposited_charge_ = total_charge; } double MCParticle::getTotalDepositedEnergy() const { return deposited_energy_; } void MCParticle::setTotalDepositedEnergy(double total_energy) { deposited_energy_ = total_energy; } int MCParticle::getParticleID() const { return particle_id_; } double MCParticle::getGlobalTime() const { return global_time_; } Loading
src/objects/MCParticle.hpp +14 −1 Original line number Diff line number Diff line Loading @@ -131,6 +131,18 @@ namespace allpix { */ unsigned int getTotalDepositedCharge() const; /** * @brief Set the total energy deposited by this particle * @param total_energy Total energy deposited by this particle */ void setTotalDepositedEnergy(double total_energy); /** * @brief Return the total energy deposited by this particle * @return Total energy deposited by this particle */ double getTotalDepositedEnergy() const; /** * @brief Set the Monte-Carlo particle * @param mc_particle The Monte-Carlo particle Loading Loading @@ -169,7 +181,7 @@ namespace allpix { /** * @brief ROOT class definition */ ClassDefOverride(MCParticle, 10); // NOLINT ClassDefOverride(MCParticle, 11); // NOLINT /** * @brief Default constructor for ROOT I/O */ Loading @@ -194,6 +206,7 @@ namespace allpix { double local_time_{}; double global_time_{}; unsigned int deposited_charge_{}; double deposited_energy_{}; double total_energy_start_{}; double kinetic_energy_start_{}; Loading