![]() |
Belle II Software
release-08-02-04
|
Base class to create a Material Scan of the detector geometry. More...
#include <MaterialScan.h>


Classes | |
| struct | ScanParams |
| Helper struct to Store Parameters of a Scan. More... | |
Public Member Functions | |
| MaterialScan2D (TFile *rootFile, const std::string &name, const std::string &axisLabel, const ScanParams ¶ms) | |
| Constructor. More... | |
| bool | createNext (G4ThreeVector &origin, G4ThreeVector &direction) override |
| Get the origin and direction for the next scan particle. More... | |
| int | getNRays () const override |
| Return the number of rays in this scan. | |
| void | UserSteppingAction (const G4Step *step) override |
| Record the material budget for each step of the particles. | |
| std::string | getName () const |
| Return the name of the scan. | |
Protected Member Functions | |
| virtual void | getRay (G4ThreeVector &origin, G4ThreeVector &direction)=0 |
| Get the origin and direction for the next scan particle. More... | |
| TH2D * | getHistogram (const std::string &name) |
| get histogram for a given name, create if needed. More... | |
| void | fillValue (const std::string &name, double value) |
| Fill the recorded material budget into the corresponding histogram. More... | |
| bool | checkStep (const G4Step *step) |
| check for stuck tracks by looking at the step length | |
Protected Attributes | |
| ScanParams | m_params |
| Parameters for the scan. | |
| double | m_curU |
| Current value of the parametetr u. | |
| double | m_stepU |
| Stepsize for the parameter u. | |
| double | m_curV |
| Current value of the parametetr v. | |
| double | m_stepV |
| Stepsize for the parameter v. | |
| double | m_curDepth |
| Tracklength of the current Ray. | |
| std::map< std::string, std::unique_ptr< TH2D > > | m_regions |
| Map holding pointers to all created histograms. | |
| TFile * | m_rootFile |
| Pointer to the root file for the histograms. | |
| std::string | m_name |
| Name of the scan, will be prefixed to all histogram names. | |
| std::string | m_axisLabel |
| Labels for the coordinate axes. | |
Private Attributes | |
| int | m_zeroSteps {0} |
| Count the number of steps with (almost) zero length. | |
Static Private Attributes | |
| static constexpr double | c_zeroTolerance = 1e-6 |
| maximum Step length to be considered zero | |
| static constexpr int | c_maxZeroStepsNudge = 10 |
| maximum number of consecutive zero steps before nudging the track along | |
| static constexpr int | c_maxZeroStepsKill = 20 |
| maximum number of consecutive zero steps before killing the track | |
Base class to create a Material Scan of the detector geometry.
This class is used to record the Material budget encountered by a particle and provide origin and directions of all particles used for the scan.
Definition at line 80 of file MaterialScan.h.
| MaterialScan2D | ( | TFile * | rootFile, |
| const std::string & | name, | ||
| const std::string & | axisLabel, | ||
| const ScanParams & | params | ||
| ) |
Constructor.
| rootFile | Pointer to the ROOTFile where the histograms will be stored. |
| name | Prefix to preprend to all Histograms |
| axisLabel | Labels for the histogram axes, separated by semicolon |
| params | Parameters for the scan |
Definition at line 78 of file MaterialScan.cc.
|
overridevirtual |
Get the origin and direction for the next scan particle.
| [out] | origin | Origin of the next scan particle |
| [out] | direction | Direction of the next scan particle |
Implements MaterialScanBase.
Definition at line 97 of file MaterialScan.cc.
|
protected |
Fill the recorded material budget into the corresponding histogram.
| name | Name of the histogram |
| value | Value to store |
Definition at line 138 of file MaterialScan.cc.
|
protected |
get histogram for a given name, create if needed.
| name | Name of the histogram |
Definition at line 125 of file MaterialScan.cc.
|
protectedpure virtual |
Get the origin and direction for the next scan particle.
To be overridden by descendents
| [out] | origin | Origin of the next scan particle |
| [out] | direction | Direction of the next scan particle |
Implemented in MaterialScanPlanar, and MaterialScanSpherical.