ATLAS Offline Software
Loading...
Searching...
No Matches
ReFitterAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSGEOMETRY_REFITTERALG_H
6#define ACTSGEOMETRY_REFITTERALG_H
7
8// ATHENA
10#include "GaudiKernel/ServiceHandle.h"
11#include "Gaudi/Property.h" /*no forward decl: typedef*/
12#include "GaudiKernel/ISvcLocator.h"
17
18// PACKAGE
21
22// STL
23#include <memory>
24#include <vector>
25#include <fstream>
26#include <mutex>
27
28class EventContext;
29
30namespace ActsTrk {
31
33public:
34 ReFitterAlg (const std::string& name, ISvcLocator* pSvcLocator);
35 virtual ~ReFitterAlg() override = default;
36
37 virtual StatusCode initialize() override;
38 virtual StatusCode execute(const EventContext& ctx) const override;
39
40private:
41
42 ToolHandle<Trk::ITrackFitter> m_actsFitter{this, "ActsFitter", "", "Choice of Acts Fitter (Kalman by default)"};
43 // --- job options
44 SG::ReadHandleKey<TrackCollection> m_trackName{this, "TrackName", "", "Collection name for tracks to be refitted"};
45 SG::WriteHandleKey<TrackCollection> m_newTrackName{this, "NewTrackName", "", "Collection name for output tracks"};
46
47 mutable std::mutex m_writeMutex{};
48
49 //Gaudi Property to choose from PRD or ROT measurment ReFit
50 Gaudi::Property<bool> m_doReFitFromPRD{this, "DoReFitFromPRD", false, "Do Refit From PRD instead of ROT"};
51};
52
53} // namespace
54
55#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
ToolHandle< Trk::ITrackFitter > m_actsFitter
Definition ReFitterAlg.h:42
virtual ~ReFitterAlg() override=default
Gaudi::Property< bool > m_doReFitFromPRD
Definition ReFitterAlg.h:50
std::mutex m_writeMutex
Definition ReFitterAlg.h:47
ReFitterAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
SG::WriteHandleKey< TrackCollection > m_newTrackName
Definition ReFitterAlg.h:45
virtual StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< TrackCollection > m_trackName
Definition ReFitterAlg.h:44
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...