9#ifndef TRKEXALGS_CETMATERIAL_H
10#define TRKEXALGS_CETMATERIAL_H
14#include "GaudiKernel/IRndmGenSvc.h"
15#include "GaudiKernel/RndmGenerators.h"
16#include "GaudiKernel/ToolHandle.h"
17#include "GaudiKernel/IChronoStatSvc.h"
18#include "GaudiKernel/SystemOfUnits.h"
44 CETmaterial(
const std::string& name, ISvcLocator* pSvcLocator);
56 void printMat(
double th,
double ph,
double mat,
double dtheta=0.,
double dphi=0.)
const;
57 void printMatScan(
double theta,
double phi,
double r,
double z,
double mat,
const std::string& name)
const;
59 double mat,
int id,
const std::string& name);
64 {
this,
"Extrapolator",
"Trk::Extrapolator/AtlasExtrapolator"};
66 {
this,
"ExtraExtrapolator",
"Trk::Extrapolator/MuonExtrapolator"};
68 DoubleProperty
m_minZ0{
this,
"StartPerigeeMinZ0", 0.};
69 DoubleProperty
m_maxZ0{
this,
"StartPerigeeMaxZ0", 0.};
70 DoubleProperty
m_minTheta{
this,
"StartPerigeeMinTheta", 0.};
72 DoubleProperty
m_minP{
this,
"StartPerigeeMinP", 50000*Gaudi::Units::GeV};
73 DoubleProperty
m_maxP{
this,
"StartPerigeeMaxP", 50000*Gaudi::Units::GeV};
74 DoubleProperty
m_charge{
this,
"StartPerigeeCharge", 1.};
75 UnsignedIntegerProperty
m_numScan{
this,
"NumberOfScanTracks", 10};
85 BooleanProperty
m_backward{
this,
"CheckBackward",
false};
101 "the particle type for the extrap."};
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
void printMat(double th, double ph, double mat, double dtheta=0., double dphi=0.) const
BooleanProperty m_backward
StatusCode initialize()
standard Athena-Algorithm method
BooleanProperty m_domsentry
CETmaterial(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
const Trk::TrackingGeometry * m_trackingGeometry
StatusCode finalize()
standard Athena-Algorithm method
IntegerProperty m_particleType
void printMatPrec(double theta, double phi, const Trk::TrackParameters *, const Trk::TrackParameters *, double mat, int id, const std::string &name)
const char * m_matCompFile
BooleanProperty m_doprecision
void printMatScan(double theta, double phi, double r, double z, double mat, const std::string &name) const
IChronoStatSvc_t m_chronoStatSvc
const char * m_matTotFile
BooleanProperty m_printActive
~CETmaterial()
Default Destructor.
BooleanProperty m_checkStepWise
ToolHandle< IExtrapolator > m_extraprec
UnsignedIntegerProperty m_numScan
const Trk::Surface * m_outerBoundary
const char * m_matScanFile
StatusCode execute()
standard Athena-Algorithm method
Trk::TrackParameters * m_next
BooleanProperty m_printMaterial
void printMatComp(double theta, double phi, const Trk::TrackParameters *currPar, const std::string &name, double mat, double matApp, double dx, double dy) const
DoubleProperty m_minTheta
DoubleProperty m_maxTheta
const Trk::TrackingVolume * m_msentry
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator(s) to be retrieved.
ServiceHandle< IChronoStatSvc > IChronoStatSvc_t
const char * m_matActiveFile
Abstract Base Class for tracking surfaces.
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Ensure that the ATLAS eigen extensions are properly loaded.
@ z
global position (cartesian)
ParametersBase< TrackParametersDim, Charged > TrackParameters