ATLAS Offline Software
Loading...
Searching...
No Matches
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
10#include "GaudiKernel/ServiceHandle.h"
11#include "GaudiKernel/ToolHandle.h"
18
19namespace Muon {
20 class MuonSegment;
21}
22
24{
25 public:
27 MuonSegmentMomentumFromField(const std::string&,const std::string&,const IInterface*);
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(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
double fieldIntegralEstimate(const EventContext &ctx, const Muon::MuonSegment *segment1, const Muon::MuonSegment *segment2) const
double fieldIntegralEstimate_old(const EventContext &ctx, const Muon::MuonSegment *segment1, const Muon::MuonSegment *segment2) const
virtual void fitMomentum2Segments_old(const EventContext &ctx, const Muon::MuonSegment *segment1, const Muon::MuonSegment *segment2, double &signedMomentum) const
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
virtual void fitMomentum2Segments(const EventContext &ctx, const Muon::MuonSegment *segment1, const Muon::MuonSegment *segment2, double &signedMomentum) const
fits a momentum to 2 segments
ToolHandle< Trk::IPropagator > m_propagator
virtual void fitMomentumVectorSegments(const EventContext &, const std::vector< const Muon::MuonSegment * > &, double &signedMomentum) const
fits a momentum to a vector of segments
virtual StatusCode initialize()
to initiate private members
MuonSegmentMomentumFromField(const std::string &, const std::string &, const IInterface *)
constructor
ToolHandle< Trk::INavigator > m_navigator
MuonSegmentMomentumFromField & operator=(const MuonSegmentMomentumFromField &)=delete
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
This is the common class for 3D segments used in the muon spectrometer.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.