ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonReconstruction
MuonSegmentMakers
MuonSegmentMakerTools
MuonSegmentMomentum
src
MuonSegmentMomentumFromField.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 MuonSegmentMomentumFromField_MuonSegmentMomentumFromField_H
6
#define MuonSegmentMomentumFromField_MuonSegmentMomentumFromField_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "
MuonRecToolInterfaces/IMuonSegmentMomentumEstimator.h
"
10
#include "GaudiKernel/ServiceHandle.h"
11
#include "GaudiKernel/ToolHandle.h"
12
#include "
TrkExInterfaces/IPropagator.h
"
13
#include "
TrkExInterfaces/INavigator.h
"
14
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
15
#include "
StoreGate/ReadCondHandleKey.h
"
16
#include "
MagFieldConditions/AtlasFieldCacheCondObj.h
"
17
#include "
MagFieldElements/AtlasFieldCache.h
"
18
19
namespace
Muon
{
20
class
MuonSegment
;
21
}
22
23
class
MuonSegmentMomentumFromField
:
public
AthAlgTool
,
virtual
public
Muon::IMuonSegmentMomentumEstimator
24
{
25
public
:
27
MuonSegmentMomentumFromField
(
const
std::string&,
const
std::string&,
const
IInterface*);
28
MuonSegmentMomentumFromField
&
operator=
(
const
MuonSegmentMomentumFromField
& ) =
delete
;
29
31
virtual
StatusCode
initialize
();
32
34
virtual
void
fitMomentum2Segments
(
const
EventContext& ctx,
const
Muon::MuonSegment
* segment1,
const
Muon::MuonSegment
* segment2,
double
& signedMomentum )
const
;
35
virtual
void
fitMomentum2Segments_old
(
const
EventContext& ctx,
const
Muon::MuonSegment
* segment1,
const
Muon::MuonSegment
* segment2,
double
& signedMomentum )
const
;
36
38
virtual
void
fitMomentumVectorSegments
(
const
EventContext&,
const
std::vector <const Muon::MuonSegment*> & ,
double
& signedMomentum )
const
;
39
private
:
40
double
fieldIntegralEstimate
(
const
EventContext& ctx,
const
Muon::MuonSegment
* segment1,
const
Muon::MuonSegment
* segment2)
const
;
41
double
fieldIntegralEstimate_old
(
const
EventContext& ctx,
const
Muon::MuonSegment
* segment1,
const
Muon::MuonSegment
* segment2)
const
;
42
43
ToolHandle<Trk::IPropagator>
m_propagator
{
this
,
"PropagatorTool"
,
44
"Trk::STEP_Propagator/MuonPropagator"
};
45
ToolHandle<Trk::INavigator>
m_navigator
{
this
,
"NavigatorTool"
,
46
"Trk::Navigator/MuonNavigator"
};
47
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"MuonIdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
48
SG::ReadCondHandleKey<AtlasFieldCacheCondObj>
m_fieldCondObjInputKey
{
this
,
"AtlasFieldCacheCondObj"
,
"fieldCondObj"
};
49
50
Gaudi::Property<bool>
m_doOld
{
this
,
"DoOld"
,
false
,
"Use old fitMomentum2Segments"
};
51
};
52
53
#endif
// MuonSegmentMomentumFromField_H
AthAlgTool.h
AtlasFieldCacheCondObj.h
AtlasFieldCache.h
IMuonIdHelperSvc.h
IMuonSegmentMomentumEstimator.h
INavigator.h
IPropagator.h
ReadCondHandleKey.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
MuonSegmentMomentumFromField::fieldIntegralEstimate
double fieldIntegralEstimate(const EventContext &ctx, const Muon::MuonSegment *segment1, const Muon::MuonSegment *segment2) const
Definition
MuonSegmentMomentumFromField.cxx:66
MuonSegmentMomentumFromField::fieldIntegralEstimate_old
double fieldIntegralEstimate_old(const EventContext &ctx, const Muon::MuonSegment *segment1, const Muon::MuonSegment *segment2) const
Definition
MuonSegmentMomentumFromField.cxx:244
MuonSegmentMomentumFromField::fitMomentum2Segments_old
virtual void fitMomentum2Segments_old(const EventContext &ctx, const Muon::MuonSegment *segment1, const Muon::MuonSegment *segment2, double &signedMomentum) const
Definition
MuonSegmentMomentumFromField.cxx:277
MuonSegmentMomentumFromField::m_fieldCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
Definition
MuonSegmentMomentumFromField.h:48
MuonSegmentMomentumFromField::fitMomentum2Segments
virtual void fitMomentum2Segments(const EventContext &ctx, const Muon::MuonSegment *segment1, const Muon::MuonSegment *segment2, double &signedMomentum) const
fits a momentum to 2 segments
Definition
MuonSegmentMomentumFromField.cxx:104
MuonSegmentMomentumFromField::m_propagator
ToolHandle< Trk::IPropagator > m_propagator
Definition
MuonSegmentMomentumFromField.h:43
MuonSegmentMomentumFromField::fitMomentumVectorSegments
virtual void fitMomentumVectorSegments(const EventContext &, const std::vector< const Muon::MuonSegment * > &, double &signedMomentum) const
fits a momentum to a vector of segments
Definition
MuonSegmentMomentumFromField.cxx:38
MuonSegmentMomentumFromField::initialize
virtual StatusCode initialize()
to initiate private members
Definition
MuonSegmentMomentumFromField.cxx:26
MuonSegmentMomentumFromField::MuonSegmentMomentumFromField
MuonSegmentMomentumFromField(const std::string &, const std::string &, const IInterface *)
constructor
Definition
MuonSegmentMomentumFromField.cxx:20
MuonSegmentMomentumFromField::m_navigator
ToolHandle< Trk::INavigator > m_navigator
Definition
MuonSegmentMomentumFromField.h:45
MuonSegmentMomentumFromField::operator=
MuonSegmentMomentumFromField & operator=(const MuonSegmentMomentumFromField &)=delete
MuonSegmentMomentumFromField::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
MuonSegmentMomentumFromField.h:47
MuonSegmentMomentumFromField::m_doOld
Gaudi::Property< bool > m_doOld
Definition
MuonSegmentMomentumFromField.h:50
Muon::IMuonSegmentMomentumEstimator
Definition
IMuonSegmentMomentumEstimator.h:16
Muon::MuonSegment
This is the common class for 3D segments used in the muon spectrometer.
Definition
MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h:45
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
ServiceHandle
Definition
ClusterMakerTool.h:36
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Generated on
for ATLAS Offline Software by
1.17.0