k4SimGeant4
Loading...
Searching...
No Matches
MaterialScan_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
17class MaterialScan_genericAngle : public Service {
18public:
19 explicit MaterialScan_genericAngle(const std::string& name, ISvcLocator* svcLoc);
20
21 virtual StatusCode initialize();
22 virtual StatusCode finalize();
24
25private:
27 Gaudi::Property<std::string> m_filename{this, "filename", "", "file name to save the tree to"};
29 ServiceHandle<IGeoSvc> m_geoSvc;
31 Gaudi::Property<double> m_angleBinning{this, "angleBinning", 0.05, "eta/theta/cosTheta/thetaRad bin size"};
33 Gaudi::Property<double> m_angleMax{this, "angleMax", 6, "maximum eta/theta/cosTheta/thetaRad value"};
35 Gaudi::Property<double> m_angleMin{this, "angleMin", -6, "minimum eta/theta/cosTheta/thetaRad value"};
37 Gaudi::Property<double> m_nPhiTrials{this, "nPhiTrials", 100,
38 "number of random, uniformly distributed phi values to average over"};
40 Gaudi::Property<std::string> m_angleDef{this, "angleDef", "eta",
41 "angle definition to use: 'eta', 'theta' (in degrees), 'cosTheta' or 'thetaRad' (in rad), default: 'eta'"};
43 Gaudi::Property<std::string> m_envelopeName{this, "envelopeName", "world",
44 "name of the envelope within which the material is measured"};
46 Rndm::Numbers m_flatPhiDist;
48 Rndm::Numbers m_flatAngleDist;
49
50};
Service that facilitates material scan on initialize This service outputs a ROOT file containing a TT...
Definition MaterialScan_genericAngle.h:17
virtual StatusCode finalize()
Definition MaterialScan_genericAngle.cpp:134
MaterialScan_genericAngle(const std::string &name, ISvcLocator *svcLoc)
Definition MaterialScan_genericAngle.cpp:20
Gaudi::Property< double > m_nPhiTrials
number of random, uniformly distributed phi values to average over
Definition MaterialScan_genericAngle.h:37
Rndm::Numbers m_flatPhiDist
Flat random number generator.
Definition MaterialScan_genericAngle.h:46
virtual StatusCode initialize()
Definition MaterialScan_genericAngle.cpp:23
Gaudi::Property< double > m_angleBinning
Step size in eta/theta/cosTheta/thetaRad.
Definition MaterialScan_genericAngle.h:31
Gaudi::Property< std::string > m_filename
name of the output file
Definition MaterialScan_genericAngle.h:27
virtual ~MaterialScan_genericAngle()
Definition MaterialScan_genericAngle.h:23
Gaudi::Property< std::string > m_envelopeName
Name of the envelope within which the material is measured (by default: world volume)
Definition MaterialScan_genericAngle.h:43
Gaudi::Property< double > m_angleMax
Maximum eta/theta/cosTheta/thetaRad until which to scan.
Definition MaterialScan_genericAngle.h:33
ServiceHandle< IGeoSvc > m_geoSvc
Handle to the geometry service from which the detector is retrieved.
Definition MaterialScan_genericAngle.h:29
Gaudi::Property< double > m_angleMin
Minimum eta/theta/cosTheta/thetaRad until which to scan.
Definition MaterialScan_genericAngle.h:35
Rndm::Numbers m_flatAngleDist
Flat random number generator.
Definition MaterialScan_genericAngle.h:48
Gaudi::Property< std::string > m_angleDef
angle definition to use: eta, theta, cosTheta or thetaRad default: eta
Definition MaterialScan_genericAngle.h:40