ATLAS Offline Software
Loading...
Searching...
No Matches
MaterialEffectsOnTrack.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKMATERIALEFFECTSONTRACK_MATERIALEFFECTSONTRACK_H
6#define TRKMATERIALEFFECTSONTRACK_MATERIALEFFECTSONTRACK_H
7
11#include "TrkSurfaces/Surface.h"
12#include <iosfwd>
13#include <memory>
14#include <optional>
15
16class MsgStream;
20
21namespace Trk {
22
23class Surface;
24
38
40{
41
42public:
55 const double tInX0,
56 std::optional<ScatteringAngles> scat,
57 std::unique_ptr<const Trk::EnergyLoss> eloss,
58 const Surface& assocSurf,
59 const std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes>&
60 typePattern =
61 std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes>());
62
71 const double tInX0,
72 std::optional<ScatteringAngles> scat,
73 const Surface& assocSurf,
74 const std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes>&
75 typePattern =
76 std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes>());
77
85 const double tInX0,
86 std::unique_ptr<const EnergyLoss> eloss,
87 const Surface& assocSurf,
88 const std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes>&
89 typePattern =
90 std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes>());
91
97 MaterialEffectsOnTrack(const double tInX0, const Surface& assocSurf);
98
101
104
107
110
112 virtual ~MaterialEffectsOnTrack() = default;
113
119
123
127 const EnergyLoss* energyLoss() const;
128
130 virtual MaterialEffectsOnTrack* clone() const override final;
131
134
136 virtual MsgStream& dump(MsgStream& sl) const override final;
138 virtual std::ostream& dump(std::ostream& sl) const override final;
139
141private:
144
149};
150
151} // end of Trk ns
152#include "TrkMaterialOnTrack/MaterialEffectsOnTrack.icc"
153#endif
154
#define protected
T/P converter v2 for MaterialEffectsOnTrack.
This class describes energy loss material effects in the ATLAS tracking EDM.
Definition EnergyLoss.h:34
MaterialEffectsBase()
default constructor for POOL
MaterialEffectsOnTrack(const double tInX0, std::unique_ptr< const EnergyLoss > eloss, const Surface &assocSurf, const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > &typePattern=std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >())
partial constructor passing (with ownership) an energy loss object
MaterialEffectsOnTrack & operator=(MaterialEffectsOnTrack &&rhs) noexcept=default
Assignment operator.
MaterialEffectsOnTrack(const MaterialEffectsOnTrack &meot)
Copy constructor.
std::optional< ScatteringAngles > m_scatteringAngles
holds the scattering angles+errors in a separate object
MaterialEffectsOnTrack(MaterialEffectsOnTrack &&meot) noexcept=default
Moveconstructor.
MaterialEffectsOnTrack()=default
default constructor for POOL - do not use in reconstruction!
virtual MaterialEffectsOnTrack * clone() const override final
Virtual constructor.
MaterialEffectsOnTrack(const double tInX0, std::optional< ScatteringAngles > scat, const Surface &assocSurf, const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > &typePattern=std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >())
partial constructor passing (with ownership) a scattering angle object
virtual ~MaterialEffectsOnTrack()=default
virtual destructor
MaterialEffectsOnTrack(const double tInX0, std::optional< ScatteringAngles > scat, std::unique_ptr< const Trk::EnergyLoss > eloss, const Surface &assocSurf, const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > &typePattern=std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >())
full constructor passing (with ownership) both scattering angle and energy loss
std::unique_ptr< const EnergyLoss > m_energyLoss
holds the measured and/or estimated energy loss in a separate object
MaterialEffectsOnTrack(const double tInX0, const Surface &assocSurf)
partial constructor with only a thickness, input to ME-Updator
std::unique_ptr< MaterialEffectsOnTrack > uniqueClone() const
NVI uniqueClone.
const EnergyLoss * energyLoss() const
returns the energy loss object.
const ScatteringAngles * scatteringAngles() const
returns the MCS-angles object.
MaterialEffectsBase::MaterialEffectsDerivedType derivedType() const override final
concrete type
MaterialEffectsOnTrack & operator=(const MaterialEffectsOnTrack &rhs)
Assignment operator.
represents a deflection of the track caused through multiple scattering in material.
Abstract Base Class for tracking surfaces.
STL class.
STL class.
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file
STL namespace.
#define private