ATLAS Offline Software
Loading...
Searching...
No Matches
AlignTrackCreator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKALIGNGENTOOLS_ALIGN_TRACK_CREATOR_H
6#define TRKALIGNGENTOOLS_ALIGN_TRACK_CREATOR_H
7
8#include "GaudiKernel/ToolHandle.h"
10
14
15#include <vector>
16
26
27class AtlasDetectorID;
28
29namespace Trk {
30
31 class AlignTrack;
32 class AlignTSOS;
33 class MeasurementTypeID;
34
35 class AlignTrackCreator : virtual public IAlignTrackCreator, public AthAlgTool {
36
37 public:
38 AlignTrackCreator(const std::string& type, const std::string& name,
39 const IInterface* parent);
40
41 StatusCode initialize();
42 StatusCode finalize();
43
45 bool processAlignTrack(AlignTrack* track);
46
47 private:
48
49 // private variables
50 PublicToolHandle<IAlignModuleTool> m_alignModuleTool{this, "AlignModuleTool", "InDet::InDetAlignModuleTool/InDetAlignModuleTool"};
51 ToolHandle<IAlignResidualCalculator> m_residualCalculator{
52 this, "ResidualCalculator", "Trk::AlignResidualCalculator/ResidualCalculator"};
53
54 const AtlasDetectorID* m_idHelper = nullptr;
56
57 std::vector< std::pair<int,int> > m_goodEventList;
58
59 StringProperty m_eventListName{this, "EventList", "goodEvents.txt",
60 "name of event list ASCII file"};
61 BooleanProperty m_writeEventList{this, "WriteEventList", false,
62 "write selected events to event list ASCII file"};
63 BooleanProperty m_requireOverlap{this, "RequireOverlap", false,
64 "keep only tracks that pass through 2 or more AlignModules"};
66 this, "RemoveATSOSNotInAlignModule", true,
67 "remove AlignTSOS not in AlignModules"};
68 BooleanProperty m_includeScatterers{this, "IncludeScatterers", true,
69 "includes scatterers on track"};
70
71 }; // end class
72
73} // end namespace
74
75#endif // TRKALIGNGENTOOLS_ALIGN_TRACK_CREATOR_H
AlignTSOS is a TSOS with extra variables useful for alignment.
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
BooleanProperty m_includeScatterers
BooleanProperty m_removeATSOSNotInAlignModule
bool processAlignTrack(AlignTrack *track)
creates AlignTrack containing all TSOS on track
BooleanProperty m_requireOverlap
std::vector< std::pair< int, int > > m_goodEventList
AlignTrackCreator(const std::string &type, const std::string &name, const IInterface *parent)
StringProperty m_eventListName
PublicToolHandle< IAlignModuleTool > m_alignModuleTool
const AtlasDetectorID * m_idHelper
ToolHandle< IAlignResidualCalculator > m_residualCalculator
MeasurementTypeID * m_measTypeIdHelper
BooleanProperty m_writeEventList
classifies a MeasurementBase into one of the known inherited flavours or one of the detector types fo...
Ensure that the ATLAS eigen extensions are properly loaded.