Loading src/modules/GenericPropagation/GenericPropagationModule.cpp +48 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,39 @@ void GenericPropagationModule::initialize() { 200, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); gain_e_vs_x_ = CreateHistogram<TProfile>("gain_e_vs_x", "Gain per electron group after propagation vs x; x [mm]; gain per group", 100, -model_->getSensorSize().x() / 2., model_->getSensorSize().x() / 2.); gain_e_vs_y_ = CreateHistogram<TProfile>("gain_e_vs_y", "Gain per electron group after propagation vs y; x [mm]; gain per group", 100, -model_->getSensorSize().y() / 2., model_->getSensorSize().y() / 2.); gain_e_vs_z_ = CreateHistogram<TProfile>("gain_e_vs_z", "Gain per electron group after propagation vs z; x [mm]; gain per group", 100, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); gain_h_vs_x_ = CreateHistogram<TProfile>("gain_h_vs_x", "Gain per hole group after propagation vs x; x [mm]; gain per group", 100, -model_->getSensorSize().x() / 2., model_->getSensorSize().x() / 2.); gain_h_vs_y_ = CreateHistogram<TProfile>("gain_h_vs_y", "Gain per hole group after propagation vs y; x [mm]; gain per group", 100, -model_->getSensorSize().y() / 2., model_->getSensorSize().y() / 2.); gain_h_vs_z_ = CreateHistogram<TProfile>("gain_h_vs_z", "Gain per hole group after propagation vs z; x [mm]; gain per group", 100, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); } } Loading Loading @@ -719,6 +752,15 @@ GenericPropagationModule::propagate(Event* event, gain_h_histo_->Fill(gain, initial_charge); } } if(type == CarrierType::ELECTRON) { gain_e_vs_x_->Fill(pos.x(), gain); gain_e_vs_y_->Fill(pos.y(), gain); gain_e_vs_z_->Fill(pos.z(), gain); } else { gain_h_vs_x_->Fill(pos.x(), gain); gain_h_vs_y_->Fill(pos.y(), gain); gain_h_vs_z_->Fill(pos.z(), gain); } gain_all_histo_->Fill(gain, initial_charge); multiplication_level_histo_->Fill(level, initial_charge); Loading Loading @@ -794,6 +836,12 @@ void GenericPropagationModule::finalize() { gain_h_histo_->Write(); multiplication_level_histo_->Write(); multiplication_depth_histo_->Write(); gain_e_vs_x_->Write(); gain_e_vs_y_->Write(); gain_e_vs_z_->Write(); gain_h_vs_x_->Write(); gain_h_vs_y_->Write(); gain_h_vs_z_->Write(); } } Loading src/modules/GenericPropagation/GenericPropagationModule.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <Math/Point3D.h> #include <TFile.h> #include <TH1D.h> #include <TProfile.h> #include "core/config/Configuration.hpp" #include "core/geometry/DetectorModel.hpp" Loading Loading @@ -152,6 +153,8 @@ namespace allpix { Histogram<TH1D> gain_h_histo_; Histogram<TH1D> multiplication_level_histo_; Histogram<TH1D> multiplication_depth_histo_; Histogram<TProfile> gain_e_vs_x_, gain_e_vs_y_, gain_e_vs_z_; Histogram<TProfile> gain_h_vs_x_, gain_h_vs_y_, gain_h_vs_z_; }; } // namespace allpix src/modules/TransientPropagation/TransientPropagationModule.cpp +48 −0 Original line number Diff line number Diff line Loading @@ -353,6 +353,39 @@ void TransientPropagationModule::initialize() { 200, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); gain_e_vs_x_ = CreateHistogram<TProfile>("gain_e_vs_x", "Gain per electron group after propagation vs x; x [mm]; gain per group", 100, -model_->getSensorSize().x() / 2., model_->getSensorSize().x() / 2.); gain_e_vs_y_ = CreateHistogram<TProfile>("gain_e_vs_y", "Gain per electron group after propagation vs y; x [mm]; gain per group", 100, -model_->getSensorSize().y() / 2., model_->getSensorSize().y() / 2.); gain_e_vs_z_ = CreateHistogram<TProfile>("gain_e_vs_z", "Gain per electron group after propagation vs z; x [mm]; gain per group", 100, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); gain_h_vs_x_ = CreateHistogram<TProfile>("gain_h_vs_x", "Gain per hole group after propagation vs x; x [mm]; gain per group", 100, -model_->getSensorSize().x() / 2., model_->getSensorSize().x() / 2.); gain_h_vs_y_ = CreateHistogram<TProfile>("gain_h_vs_y", "Gain per hole group after propagation vs y; x [mm]; gain per group", 100, -model_->getSensorSize().y() / 2., model_->getSensorSize().y() / 2.); gain_h_vs_z_ = CreateHistogram<TProfile>("gain_h_vs_z", "Gain per hole group after propagation vs z; x [mm]; gain per group", 100, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); } } } Loading Loading @@ -794,6 +827,15 @@ TransientPropagationModule::propagate(Event* event, gain_h_histo_->Fill(gain, initial_charge); } } if(type == CarrierType::ELECTRON) { gain_e_vs_x_->Fill(pos.x(), gain); gain_e_vs_y_->Fill(pos.y(), gain); gain_e_vs_z_->Fill(pos.z(), gain); } else { gain_h_vs_x_->Fill(pos.x(), gain); gain_h_vs_y_->Fill(pos.y(), gain); gain_h_vs_z_->Fill(pos.z(), gain); } gain_all_histo_->Fill(gain, initial_charge); multiplication_level_histo_->Fill(level, initial_charge); Loading Loading @@ -885,6 +927,12 @@ void TransientPropagationModule::finalize() { gain_h_histo_->Write(); multiplication_level_histo_->Write(); multiplication_depth_histo_->Write(); gain_e_vs_x_->Write(); gain_e_vs_y_->Write(); gain_e_vs_z_->Write(); gain_h_vs_x_->Write(); gain_h_vs_y_->Write(); gain_h_vs_z_->Write(); } } } src/modules/TransientPropagation/TransientPropagationModule.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <Math/DisplacementVector2D.h> #include <Math/Point3D.h> #include <TH1D.h> #include <TProfile.h> #include "core/config/Configuration.hpp" #include "core/geometry/DetectorModel.hpp" Loading Loading @@ -150,6 +151,8 @@ namespace allpix { Histogram<TH1D> gain_h_histo_; Histogram<TH1D> multiplication_level_histo_; Histogram<TH1D> multiplication_depth_histo_; Histogram<TProfile> gain_e_vs_x_, gain_e_vs_y_, gain_e_vs_z_; Histogram<TProfile> gain_h_vs_x_, gain_h_vs_y_, gain_h_vs_z_; Histogram<TH1D> induced_charge_primary_histo_, induced_charge_primary_e_histo_, induced_charge_primary_h_histo_; Histogram<TH1D> induced_charge_secondary_histo_, induced_charge_secondary_e_histo_, induced_charge_secondary_h_histo_; Loading Loading
src/modules/GenericPropagation/GenericPropagationModule.cpp +48 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,39 @@ void GenericPropagationModule::initialize() { 200, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); gain_e_vs_x_ = CreateHistogram<TProfile>("gain_e_vs_x", "Gain per electron group after propagation vs x; x [mm]; gain per group", 100, -model_->getSensorSize().x() / 2., model_->getSensorSize().x() / 2.); gain_e_vs_y_ = CreateHistogram<TProfile>("gain_e_vs_y", "Gain per electron group after propagation vs y; x [mm]; gain per group", 100, -model_->getSensorSize().y() / 2., model_->getSensorSize().y() / 2.); gain_e_vs_z_ = CreateHistogram<TProfile>("gain_e_vs_z", "Gain per electron group after propagation vs z; x [mm]; gain per group", 100, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); gain_h_vs_x_ = CreateHistogram<TProfile>("gain_h_vs_x", "Gain per hole group after propagation vs x; x [mm]; gain per group", 100, -model_->getSensorSize().x() / 2., model_->getSensorSize().x() / 2.); gain_h_vs_y_ = CreateHistogram<TProfile>("gain_h_vs_y", "Gain per hole group after propagation vs y; x [mm]; gain per group", 100, -model_->getSensorSize().y() / 2., model_->getSensorSize().y() / 2.); gain_h_vs_z_ = CreateHistogram<TProfile>("gain_h_vs_z", "Gain per hole group after propagation vs z; x [mm]; gain per group", 100, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); } } Loading Loading @@ -719,6 +752,15 @@ GenericPropagationModule::propagate(Event* event, gain_h_histo_->Fill(gain, initial_charge); } } if(type == CarrierType::ELECTRON) { gain_e_vs_x_->Fill(pos.x(), gain); gain_e_vs_y_->Fill(pos.y(), gain); gain_e_vs_z_->Fill(pos.z(), gain); } else { gain_h_vs_x_->Fill(pos.x(), gain); gain_h_vs_y_->Fill(pos.y(), gain); gain_h_vs_z_->Fill(pos.z(), gain); } gain_all_histo_->Fill(gain, initial_charge); multiplication_level_histo_->Fill(level, initial_charge); Loading Loading @@ -794,6 +836,12 @@ void GenericPropagationModule::finalize() { gain_h_histo_->Write(); multiplication_level_histo_->Write(); multiplication_depth_histo_->Write(); gain_e_vs_x_->Write(); gain_e_vs_y_->Write(); gain_e_vs_z_->Write(); gain_h_vs_x_->Write(); gain_h_vs_y_->Write(); gain_h_vs_z_->Write(); } } Loading
src/modules/GenericPropagation/GenericPropagationModule.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <Math/Point3D.h> #include <TFile.h> #include <TH1D.h> #include <TProfile.h> #include "core/config/Configuration.hpp" #include "core/geometry/DetectorModel.hpp" Loading Loading @@ -152,6 +153,8 @@ namespace allpix { Histogram<TH1D> gain_h_histo_; Histogram<TH1D> multiplication_level_histo_; Histogram<TH1D> multiplication_depth_histo_; Histogram<TProfile> gain_e_vs_x_, gain_e_vs_y_, gain_e_vs_z_; Histogram<TProfile> gain_h_vs_x_, gain_h_vs_y_, gain_h_vs_z_; }; } // namespace allpix
src/modules/TransientPropagation/TransientPropagationModule.cpp +48 −0 Original line number Diff line number Diff line Loading @@ -353,6 +353,39 @@ void TransientPropagationModule::initialize() { 200, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); gain_e_vs_x_ = CreateHistogram<TProfile>("gain_e_vs_x", "Gain per electron group after propagation vs x; x [mm]; gain per group", 100, -model_->getSensorSize().x() / 2., model_->getSensorSize().x() / 2.); gain_e_vs_y_ = CreateHistogram<TProfile>("gain_e_vs_y", "Gain per electron group after propagation vs y; x [mm]; gain per group", 100, -model_->getSensorSize().y() / 2., model_->getSensorSize().y() / 2.); gain_e_vs_z_ = CreateHistogram<TProfile>("gain_e_vs_z", "Gain per electron group after propagation vs z; x [mm]; gain per group", 100, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); gain_h_vs_x_ = CreateHistogram<TProfile>("gain_h_vs_x", "Gain per hole group after propagation vs x; x [mm]; gain per group", 100, -model_->getSensorSize().x() / 2., model_->getSensorSize().x() / 2.); gain_h_vs_y_ = CreateHistogram<TProfile>("gain_h_vs_y", "Gain per hole group after propagation vs y; x [mm]; gain per group", 100, -model_->getSensorSize().y() / 2., model_->getSensorSize().y() / 2.); gain_h_vs_z_ = CreateHistogram<TProfile>("gain_h_vs_z", "Gain per hole group after propagation vs z; x [mm]; gain per group", 100, -model_->getSensorSize().z() / 2., model_->getSensorSize().z() / 2.); } } } Loading Loading @@ -794,6 +827,15 @@ TransientPropagationModule::propagate(Event* event, gain_h_histo_->Fill(gain, initial_charge); } } if(type == CarrierType::ELECTRON) { gain_e_vs_x_->Fill(pos.x(), gain); gain_e_vs_y_->Fill(pos.y(), gain); gain_e_vs_z_->Fill(pos.z(), gain); } else { gain_h_vs_x_->Fill(pos.x(), gain); gain_h_vs_y_->Fill(pos.y(), gain); gain_h_vs_z_->Fill(pos.z(), gain); } gain_all_histo_->Fill(gain, initial_charge); multiplication_level_histo_->Fill(level, initial_charge); Loading Loading @@ -885,6 +927,12 @@ void TransientPropagationModule::finalize() { gain_h_histo_->Write(); multiplication_level_histo_->Write(); multiplication_depth_histo_->Write(); gain_e_vs_x_->Write(); gain_e_vs_y_->Write(); gain_e_vs_z_->Write(); gain_h_vs_x_->Write(); gain_h_vs_y_->Write(); gain_h_vs_z_->Write(); } } }
src/modules/TransientPropagation/TransientPropagationModule.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <Math/DisplacementVector2D.h> #include <Math/Point3D.h> #include <TH1D.h> #include <TProfile.h> #include "core/config/Configuration.hpp" #include "core/geometry/DetectorModel.hpp" Loading Loading @@ -150,6 +151,8 @@ namespace allpix { Histogram<TH1D> gain_h_histo_; Histogram<TH1D> multiplication_level_histo_; Histogram<TH1D> multiplication_depth_histo_; Histogram<TProfile> gain_e_vs_x_, gain_e_vs_y_, gain_e_vs_z_; Histogram<TProfile> gain_h_vs_x_, gain_h_vs_y_, gain_h_vs_z_; Histogram<TH1D> induced_charge_primary_histo_, induced_charge_primary_e_histo_, induced_charge_primary_h_histo_; Histogram<TH1D> induced_charge_secondary_histo_, induced_charge_secondary_e_histo_, induced_charge_secondary_h_histo_; Loading