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
20
21// STL
22#include <memory>
23#include <vector>
24#include <fstream>
25#include <mutex>
26
27class EventContext;
28
29namespace ActsTrk {
30
32public:
33 ReFitterAlg (const std::string& name, ISvcLocator* pSvcLocator);
34 virtual ~ReFitterAlg() override = default;
35
36 virtual StatusCode initialize() override;
37 virtual StatusCode execute(const EventContext& ctx) const override;
38
39private:
40
41 ToolHandle<Trk::ITrackFitter> m_actsFitter{this, "ActsFitter", "", "Choice of Acts Fitter (Kalman by default)"};
42 // --- job options
43 SG::ReadHandleKey<TrackCollection> m_trackName{this, "TrackName", "", "Collection name for tracks to be refitted"};
44 SG::WriteHandleKey<TrackCollection> m_newTrackName{this, "NewTrackName", "", "Collection name for output tracks"};
45
46 mutable std::mutex m_writeMutex{};
47
48 //Gaudi Property to choose from PRD or ROT measurment ReFit
49 Gaudi::Property<bool> m_doReFitFromPRD{this, "DoReFitFromPRD", false, "Do Refit From PRD instead of ROT"};
50};
51
52} // namespace
53
54#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:41
virtual ~ReFitterAlg() override=default
Gaudi::Property< bool > m_doReFitFromPRD
Definition ReFitterAlg.h:49
std::mutex m_writeMutex
Definition ReFitterAlg.h:46
ReFitterAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
SG::WriteHandleKey< TrackCollection > m_newTrackName
Definition ReFitterAlg.h:44
virtual StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< TrackCollection > m_trackName
Definition ReFitterAlg.h:43
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...