Belle II Software development
|
Specific implementaion of MaterialScan to scan parallel to a given plane. More...
#include <MaterialScan.h>
Public Member Functions | |
MaterialScanPlanar (TFile *rootFile, const G4ThreeVector &origin, const G4ThreeVector &dirU, const G4ThreeVector &dirV, const ScanParams ¶ms) | |
Create a Planar Scan object with the given parameters. | |
bool | createNext (G4ThreeVector &origin, G4ThreeVector &direction) override |
Get the origin and direction for the next scan particle. | |
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 | |
void | getRay (G4ThreeVector &origin, G4ThreeVector &direction) override |
Create a ray with the current parameter values according to a planar distribution. | |
TH2D * | getHistogram (const std::string &name) |
get histogram for a given name, create if needed. | |
void | fillValue (const std::string &name, double value) |
Fill the recorded material budget into the corresponding histogram. | |
bool | checkStep (const G4Step *step) |
check for stuck tracks by looking at the step length | |
Protected Attributes | |
G4ThreeVector | m_origin |
Origin of the scan plane. | |
G4ThreeVector | m_dirU |
u direction of the scan plane | |
G4ThreeVector | m_dirV |
v direction of the scan plane | |
G4ThreeVector | m_dirW |
direction perpendicluar to u and v | |
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 | |
Specific implementaion of MaterialScan to scan parallel to a given plane.
Particles will be created in a grid on the given plane and will be traced perpendicluar to that plane The plane is defined by one origin and the directions of the grid coordinates u and v. The flight direction is determined by the cross product between the u and v axis.
Definition at line 202 of file MaterialScan.h.
|
inline |
Create a Planar Scan object with the given parameters.
rootFile | pointer to the ROOT File containing the histograms |
origin | Origin of the plane to shoot rays from |
dirU | Direction of the u coordinate |
dirV | Direction of the v coordinate |
params | Parameters of the scan |
Definition at line 211 of file MaterialScan.h.
|
protectedinherited |
check for stuck tracks by looking at the step length
Definition at line 44 of file MaterialScan.cc.
|
overridevirtualinherited |
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.
|
protectedinherited |
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.
|
protectedinherited |
get histogram for a given name, create if needed.
name | Name of the histogram |
Definition at line 125 of file MaterialScan.cc.
|
inlineinherited |
|
inlineoverridevirtualinherited |
Return the number of rays in this scan.
Implements MaterialScanBase.
Definition at line 122 of file MaterialScan.h.
|
overrideprotectedvirtual |
Create a ray with the current parameter values according to a planar distribution.
Implements MaterialScan2D.
Definition at line 208 of file MaterialScan.cc.
|
overrideinherited |
Record the material budget for each step of the particles.
Definition at line 144 of file MaterialScan.cc.
|
staticconstexprprivateinherited |
maximum number of consecutive zero steps before killing the track
Definition at line 71 of file MaterialScan.h.
|
staticconstexprprivateinherited |
maximum number of consecutive zero steps before nudging the track along
Definition at line 69 of file MaterialScan.h.
|
staticconstexprprivateinherited |
maximum Step length to be considered zero
Definition at line 67 of file MaterialScan.h.
|
protectedinherited |
Labels for the coordinate axes.
Definition at line 64 of file MaterialScan.h.
|
protectedinherited |
Tracklength of the current Ray.
Definition at line 156 of file MaterialScan.h.
|
protectedinherited |
Current value of the parametetr u.
Definition at line 148 of file MaterialScan.h.
|
protectedinherited |
Current value of the parametetr v.
Definition at line 152 of file MaterialScan.h.
|
protected |
u direction of the scan plane
Definition at line 224 of file MaterialScan.h.
|
protected |
v direction of the scan plane
Definition at line 226 of file MaterialScan.h.
|
protected |
direction perpendicluar to u and v
Definition at line 228 of file MaterialScan.h.
|
protectedinherited |
Name of the scan, will be prefixed to all histogram names.
Definition at line 62 of file MaterialScan.h.
|
protected |
Origin of the scan plane.
Definition at line 222 of file MaterialScan.h.
|
protectedinherited |
Parameters for the scan.
Definition at line 146 of file MaterialScan.h.
|
protectedinherited |
Map holding pointers to all created histograms.
Definition at line 158 of file MaterialScan.h.
|
protectedinherited |
Pointer to the root file for the histograms.
Definition at line 60 of file MaterialScan.h.
|
protectedinherited |
Stepsize for the parameter u.
Definition at line 150 of file MaterialScan.h.
|
protectedinherited |
Stepsize for the parameter v.
Definition at line 154 of file MaterialScan.h.
|
privateinherited |
Count the number of steps with (almost) zero length.
Definition at line 73 of file MaterialScan.h.