ATLAS Offline Software
IAlignResidualCalculator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRKALIGNINTERFACES_ALIGNRESIDUALCALCULATOR_IH
6 #define TRKALIGNINTERFACES_ALIGNRESIDUALCALCULATOR_IH
7 
8 #include "GaudiKernel/IAlgTool.h"
9 #include "GaudiKernel/ToolHandle.h"
11 
12 #include <vector>
13 
24 namespace Trk {
25 
26  class AlignTrack;
27  class Track;
28 
29  class AlignTSOS;
30 
31  static const InterfaceID
32  IID_TRKALIGNINTERFACES_IAlignResidualCalculator("Trk::IAlignResidualCalculator",1,0);
33 
34 
35  class IAlignResidualCalculator: virtual public IAlgTool {
36 
37  public:
38  static const InterfaceID& interfaceID();
39 
41 
42  virtual StatusCode initialize() = 0;
43  virtual StatusCode finalize() = 0;
44 
45  virtual double setResiduals(DataVector<AlignTSOS>* alignTSOSColl,
46  const Track* track=0) = 0;
47 
48  virtual double setResiduals(AlignTrack* alignTrack,
49  const Track* track=0) = 0;
50 
51  virtual double setResiduals(DataVector<AlignTSOS>::iterator firstAtsos,
53  const Track* track, bool newTrack=false) = 0;
54  virtual double chi2ForMeasType(int measType) const = 0;
55 
56  };
57 
58  inline const InterfaceID& IAlignResidualCalculator::interfaceID()
59  { return IID_TRKALIGNINTERFACES_IAlignResidualCalculator; }
60 
61 } // end namespace
62 
63 #endif // TRKALIGNINTERFACES_ALIGNRESIDUALCALCULATOR_IH
Trk::IAlignResidualCalculator::initialize
virtual StatusCode initialize()=0
Trk::IAlignResidualCalculator::setResiduals
virtual double setResiduals(DataVector< AlignTSOS > *alignTSOSColl, const Track *track=0)=0
DataModel_detail::iterator
(Non-const) Iterator class for DataVector/DataList.
Definition: DVLIterator.h:184
AlignTSOS
AlignTSOS is a TSOS with extra variables useful for alignment. It is created using an implementation ...
Trk::IAlignResidualCalculator
Definition: IAlignResidualCalculator.h:35
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::IAlignResidualCalculator::chi2ForMeasType
virtual double chi2ForMeasType(int measType) const =0
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
Trk::IAlignResidualCalculator::setResiduals
virtual double setResiduals(AlignTrack *alignTrack, const Track *track=0)=0
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IAlignResidualCalculator::setResiduals
virtual double setResiduals(DataVector< AlignTSOS >::iterator firstAtsos, DataVector< AlignTSOS >::iterator lastAtsos, const Track *track, bool newTrack=false)=0
Trk::AlignTrack
Definition: AlignTrack.h:41
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
Trk::IAlignResidualCalculator::finalize
virtual StatusCode finalize()=0
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::IAlignResidualCalculator::interfaceID
static const InterfaceID & interfaceID()
Definition: IAlignResidualCalculator.h:58
Trk::IAlignResidualCalculator::~IAlignResidualCalculator
virtual ~IAlignResidualCalculator()
Definition: IAlignResidualCalculator.h:40
AlignTrack
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...