ATLAS Offline Software
EstimatedBremOnTrack.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // EstimatedBremOnTrack.h, (c) ATLAS Detector software
8 
9 #ifndef TRKMATERIALONTRACK_EstimatedBremOnTrack_H
10 #define TRKMATERIALONTRACK_EstimatedBremOnTrack_H
11 
14 #include <iosfwd>
15 #include <memory>
16 
17 class MsgStream;
18 
19 namespace Trk {
20 
21 class Surface;
22 
30 {
31 public:
33  EstimatedBremOnTrack() = default;
48  double retainedEnFraction,
50  double sigmaQoverPsquared,
51  const Surface& sf,
54  EstimatedBremOnTrack(const EstimatedBremOnTrack& ebrot) = default;
58  EstimatedBremOnTrack(EstimatedBremOnTrack&& ebrot) noexcept = default;
62  virtual ~EstimatedBremOnTrack() = default;
63 
66  derivedType() const override final {
68  }
69 
71  virtual EstimatedBremOnTrack* clone() const override final;
72 
74  std::unique_ptr<EstimatedBremOnTrack> uniqueClone() const
75  {
76  return std::unique_ptr<EstimatedBremOnTrack>(clone());
77  }
78 
80  double retainedEnFraction() const;
81 
83  double sigmaRetainedEnFraction() const;
84 
86  double sigmaQoverPsquared() const;
87 
90 
92  virtual MsgStream& dump(MsgStream& sl) const override final;
94  virtual std::ostream& dump(std::ostream& sl) const override final;
95 
96 private:
98  double m_retainedEnFraction{ 0.0 };
102  double m_sigmaQoverPsquared{ 0.0 };
103 
106 };
107 
108 inline EstimatedBremOnTrack*
110 {
111  return new EstimatedBremOnTrack(*this);
112 }
113 
114 inline double
116 {
117  return m_retainedEnFraction;
118 }
119 
120 inline double
122 {
124 }
125 
126 inline double
128 {
129  return m_sigmaQoverPsquared;
130 }
131 
132 inline SearchDirection
134 {
135  return m_bremSearchDirection;
136 }
137 
138 } // end ns
139 
140 #endif // TRKMATERIALONTRACK_ESTIMATEDBREMONTRACK_H
Trk::EstimatedBremOnTrack::EstimatedBremOnTrack
EstimatedBremOnTrack(const EstimatedBremOnTrack &ebrot)=default
Copy constructor.
Trk::EstimatedBremOnTrack::EstimatedBremOnTrack
EstimatedBremOnTrack()=default
default constructor for POOL
Trk::EstimatedBremOnTrack::retainedEnFraction
double retainedEnFraction() const
returns
Definition: EstimatedBremOnTrack.h:115
Trk::EstimatedBremOnTrack::operator=
EstimatedBremOnTrack & operator=(EstimatedBremOnTrack &&rhs) noexcept=default
Move Assignment operator.
Trk::EstimatedBremOnTrack::m_sigmaRetainedEnFraction
double m_sigmaRetainedEnFraction
- uncertainty on the momentum retained after Eloss
Definition: EstimatedBremOnTrack.h:100
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
PropDirection.h
Trk::MaterialEffectsBase::thicknessInX0
double thicknessInX0() const
returns the actually traversed material .
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Trk::MaterialEffectsBase
base class to integrate material effects on Trk::Track in a flexible way.
Definition: MaterialEffectsBase.h:35
MaterialEffectsBase.h
Trk::EstimatedBremOnTrack::m_bremSearchDirection
SearchDirection m_bremSearchDirection
if brem was found in particular direction, outward, inward or global
Definition: EstimatedBremOnTrack.h:105
Trk::MaterialEffectsBase::MaterialEffectsDerivedType
MaterialEffectsDerivedType
Definition: MaterialEffectsBase.h:37
Trk::EstimatedBremOnTrack::clone
virtual EstimatedBremOnTrack * clone() const override final
Virtual constructor.
Definition: EstimatedBremOnTrack.h:109
Trk::EstimatedBremOnTrack::derivedType
MaterialEffectsBase::MaterialEffectsDerivedType derivedType() const override final
actual type
Definition: EstimatedBremOnTrack.h:66
Trk::EstimatedBremOnTrack::searchDirection
SearchDirection searchDirection() const
returns if the brem was discovered with a particular search direction
Definition: EstimatedBremOnTrack.h:133
Trk::EstimatedBremOnTrack::sigmaRetainedEnFraction
double sigmaRetainedEnFraction() const
return
Definition: EstimatedBremOnTrack.h:121
Trk::EstimatedBremOnTrack::m_sigmaQoverPsquared
double m_sigmaQoverPsquared
- the applied straggling on the momentum correction
Definition: EstimatedBremOnTrack.h:102
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::undefinedDirection
@ undefinedDirection
Definition: PropDirection.h:30
Trk::SearchDirection
SearchDirection
Definition: PropDirection.h:29
Trk::bothway
@ bothway
Definition: PropDirection.h:30
Trk::EstimatedBremOnTrack::uniqueClone
std::unique_ptr< EstimatedBremOnTrack > uniqueClone() const
NVI uniqueClone.
Definition: EstimatedBremOnTrack.h:74
Trk::EstimatedBremOnTrack
class holding information about momentum reduction and an additional noise term due to significant en...
Definition: EstimatedBremOnTrack.h:30
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::EstimatedBremOnTrack::~EstimatedBremOnTrack
virtual ~EstimatedBremOnTrack()=default
Destructor.
Trk::EstimatedBremOnTrack::operator=
EstimatedBremOnTrack & operator=(const EstimatedBremOnTrack &rhs)=default
Assignment operator.
Trk::MaterialEffectsBase::ESTIMATED_BREM_ON_TRACK
@ ESTIMATED_BREM_ON_TRACK
Definition: MaterialEffectsBase.h:38
Trk::EstimatedBremOnTrack::EstimatedBremOnTrack
EstimatedBremOnTrack(EstimatedBremOnTrack &&ebrot) noexcept=default
Move constructor.
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::EstimatedBremOnTrack::m_retainedEnFraction
double m_retainedEnFraction
- the momentum retained after energy loss
Definition: EstimatedBremOnTrack.h:98
Trk::EstimatedBremOnTrack::sigmaQoverPsquared
double sigmaQoverPsquared() const
returns the additional noise term
Definition: EstimatedBremOnTrack.h:127
Trk::EstimatedBremOnTrack::dump
virtual MsgStream & dump(MsgStream &sl) const override final
Interface method for output.
Definition: EstimatedBremOnTrack.cxx:34