k4SimGeant4
Loading...
Searching...
No Matches
MaterialScan_genericAngle Class Reference

Service that facilitates material scan on initialize This service outputs a ROOT file containing a TTree with radiation lengths and material thickness in either eta, theta (in degrees), cos(theta) or theta (in radians). More...

#include <MaterialScan_genericAngle.h>

Inheritance diagram for MaterialScan_genericAngle:
Collaboration diagram for MaterialScan_genericAngle:

Public Member Functions

 MaterialScan_genericAngle (const std::string &name, ISvcLocator *svcLoc)
 
virtual StatusCode initialize ()
 
virtual StatusCode finalize ()
 
virtual ~MaterialScan_genericAngle ()
 

Private Attributes

Gaudi::Property< std::string > m_filename {this, "filename", "", "file name to save the tree to"}
 name of the output file
 
ServiceHandle< IGeoSvc > m_geoSvc
 Handle to the geometry service from which the detector is retrieved.
 
Gaudi::Property< double > m_angleBinning {this, "angleBinning", 0.05, "eta/theta/cosTheta/thetaRad bin size"}
 Step size in eta/theta/cosTheta/thetaRad.
 
Gaudi::Property< double > m_angleMax {this, "angleMax", 6, "maximum eta/theta/cosTheta/thetaRad value"}
 Maximum eta/theta/cosTheta/thetaRad until which to scan.
 
Gaudi::Property< double > m_angleMin {this, "angleMin", -6, "minimum eta/theta/cosTheta/thetaRad value"}
 Minimum eta/theta/cosTheta/thetaRad until which to scan.
 
Gaudi::Property< double > m_nPhiTrials
 number of random, uniformly distributed phi values to average over
 
Gaudi::Property< std::string > m_angleDef
 angle definition to use: eta, theta, cosTheta or thetaRad default: eta
 
Gaudi::Property< std::string > m_envelopeName
 Name of the envelope within which the material is measured (by default: world volume)
 
Rndm::Numbers m_flatPhiDist
 Flat random number generator.
 
Rndm::Numbers m_flatAngleDist
 Flat random number generator.
 

Detailed Description

Service that facilitates material scan on initialize This service outputs a ROOT file containing a TTree with radiation lengths and material thickness in either eta, theta (in degrees), cos(theta) or theta (in radians).

For an example on how to read the file, see Examples/scripts/material_plots.py

This script superseeds Detector/DetComponents/src/MaterialScan.cpp

Author
J. Lingemann, A. Ilg

Constructor & Destructor Documentation

◆ MaterialScan_genericAngle()

MaterialScan_genericAngle::MaterialScan_genericAngle ( const std::string & name,
ISvcLocator * svcLoc )
explicit

◆ ~MaterialScan_genericAngle()

virtual MaterialScan_genericAngle::~MaterialScan_genericAngle ( )
inlinevirtual

Member Function Documentation

◆ finalize()

StatusCode MaterialScan_genericAngle::finalize ( )
virtual

◆ initialize()

StatusCode MaterialScan_genericAngle::initialize ( )
virtual

Member Data Documentation

◆ m_angleBinning

Gaudi::Property<double> MaterialScan_genericAngle::m_angleBinning {this, "angleBinning", 0.05, "eta/theta/cosTheta/thetaRad bin size"}
private

Step size in eta/theta/cosTheta/thetaRad.

◆ m_angleDef

Gaudi::Property<std::string> MaterialScan_genericAngle::m_angleDef
private
Initial value:
{this, "angleDef", "eta",
"angle definition to use: 'eta', 'theta' (in degrees), 'cosTheta' or 'thetaRad' (in rad), default: 'eta'"}

angle definition to use: eta, theta, cosTheta or thetaRad default: eta

◆ m_angleMax

Gaudi::Property<double> MaterialScan_genericAngle::m_angleMax {this, "angleMax", 6, "maximum eta/theta/cosTheta/thetaRad value"}
private

Maximum eta/theta/cosTheta/thetaRad until which to scan.

◆ m_angleMin

Gaudi::Property<double> MaterialScan_genericAngle::m_angleMin {this, "angleMin", -6, "minimum eta/theta/cosTheta/thetaRad value"}
private

Minimum eta/theta/cosTheta/thetaRad until which to scan.

◆ m_envelopeName

Gaudi::Property<std::string> MaterialScan_genericAngle::m_envelopeName
private
Initial value:
{this, "envelopeName", "world",
"name of the envelope within which the material is measured"}

Name of the envelope within which the material is measured (by default: world volume)

◆ m_filename

Gaudi::Property<std::string> MaterialScan_genericAngle::m_filename {this, "filename", "", "file name to save the tree to"}
private

name of the output file

◆ m_flatAngleDist

Rndm::Numbers MaterialScan_genericAngle::m_flatAngleDist
private

Flat random number generator.

◆ m_flatPhiDist

Rndm::Numbers MaterialScan_genericAngle::m_flatPhiDist
private

Flat random number generator.

◆ m_geoSvc

ServiceHandle<IGeoSvc> MaterialScan_genericAngle::m_geoSvc
private

Handle to the geometry service from which the detector is retrieved.

◆ m_nPhiTrials

Gaudi::Property<double> MaterialScan_genericAngle::m_nPhiTrials
private
Initial value:
{this, "nPhiTrials", 100,
"number of random, uniformly distributed phi values to average over"}

number of random, uniformly distributed phi values to average over


The documentation for this class was generated from the following files: