k4SimGeant4
Loading...
Searching...
No Matches
MaterialScan_2D_genericAngle.h
Go to the documentation of this file.
1#include "k4Interface/IGeoSvc.h"
2
3#include "GaudiKernel/RndmGenerators.h"
4#include "GaudiKernel/Service.h"
5
16class MaterialScan_2D_genericAngle : public Service {
17public:
18 explicit MaterialScan_2D_genericAngle(const std::string& name, ISvcLocator* svcLoc);
19
20 virtual StatusCode initialize();
21 virtual StatusCode finalize();
23
24private:
26 Gaudi::Property<std::string> m_filename{this, "filename", "", "file name to save the tree to"};
28 ServiceHandle<IGeoSvc> m_geoSvc;
29
30
32 Gaudi::Property<double> m_angleBinning{this, "angleBinning", 0.05, "eta/theta/cosTheta/thetaRad bin size"};
34 Gaudi::Property<double> m_angleMax{this, "angleMax", 6, "maximum eta/theta/cosTheta/thetaRad value"};
36 Gaudi::Property<double> m_angleMin{this, "angleMin", -6, "minimum eta/theta/cosTheta/thetaRad value"};
38 Gaudi::Property<double> m_nPhi{this, "nPhi", 100,
39 "number of phi values to run over, evenly distributed from 0 to 2 pi"};
41 Gaudi::Property<std::string> m_angleDef{this, "angleDef", "eta",
42 "angle definition to use: 'eta', 'theta' (in degrees), 'cosTheta' or 'thetaRad' (in rad), default: 'eta'"};
44 Gaudi::Property<std::string> m_envelopeName{this, "envelopeName", "world",
45 "name of the envelope within which the material is measured"};
47 Rndm::Numbers m_flatAngleDist;
48
49};
Service that facilitates material scan on initialize This service outputs a ROOT file containing a TT...
Definition MaterialScan_2D_genericAngle.h:16
Gaudi::Property< double > m_nPhi
number of phi values to run over, evenly distributed from 0 to 2 pi
Definition MaterialScan_2D_genericAngle.h:38
Rndm::Numbers m_flatAngleDist
Flat random number generator.
Definition MaterialScan_2D_genericAngle.h:47
Gaudi::Property< std::string > m_envelopeName
Name of the envelope within which the material is measured (by default: world volume)
Definition MaterialScan_2D_genericAngle.h:44
virtual StatusCode finalize()
Definition MaterialScan_2D_genericAngle.cpp:133
Gaudi::Property< std::string > m_filename
name of the output file
Definition MaterialScan_2D_genericAngle.h:26
Gaudi::Property< std::string > m_angleDef
angle definition to use: eta, theta, cosTheta or thetaRad default: eta
Definition MaterialScan_2D_genericAngle.h:41
virtual StatusCode initialize()
Definition MaterialScan_2D_genericAngle.cpp:22
Gaudi::Property< double > m_angleMin
Minimum eta/theta/cosTheta/thetaRad until which to scan.
Definition MaterialScan_2D_genericAngle.h:36
Gaudi::Property< double > m_angleBinning
Step size in eta/theta/cosTheta/thetaRad.
Definition MaterialScan_2D_genericAngle.h:32
MaterialScan_2D_genericAngle(const std::string &name, ISvcLocator *svcLoc)
Definition MaterialScan_2D_genericAngle.cpp:19
virtual ~MaterialScan_2D_genericAngle()
Definition MaterialScan_2D_genericAngle.h:22
ServiceHandle< IGeoSvc > m_geoSvc
Handle to the geometry service from which the detector is retrieved.
Definition MaterialScan_2D_genericAngle.h:28
Gaudi::Property< double > m_angleMax
Maximum eta/theta/cosTheta/thetaRad until which to scan.
Definition MaterialScan_2D_genericAngle.h:34