ATLAS Offline Software
IAlignTrackPreProcessor.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 TRKALIGNMENT_ALIGNTRACKPREPROCESSOR_IH
6 #define TRKALIGNMENT_ALIGNTRACKPREPROCESSOR_IH
7 
21 #include "GaudiKernel/IAlgTool.h"
23 
24 #include <fstream>
25 
26 class TFile;
27 
28 namespace Trk {
29 
30  class Track;
31  class AlignTrack;
32 
33  static const InterfaceID
34  IID_Trk_IAlignTrackPreProcessor("IAlignTrackPreProcessor",1,0);
35 
36  class IAlignTrackPreProcessor: virtual public IAlgTool {
37 
38  public:
39  static const InterfaceID& interfaceID();
40 
46 
48  virtual void setLogStream(std::ostream * os) { m_logStream = os; }
49 
51  virtual void setNtuple(TFile*) {}
52 
54  virtual StatusCode fillNtuple() { return StatusCode::SUCCESS; }
55 
57  virtual void accumulateVTX(AlignTrack* ) {}
58 
59  virtual void solveVTX() {}
60 
62  virtual void printSummary() {}
63 
64  protected:
65 
66  std::ostream * m_logStream;
67 
68  };
69 
70  inline const InterfaceID& IAlignTrackPreProcessor::interfaceID()
71  {
72  return IID_Trk_IAlignTrackPreProcessor;
73  }
74 
75 } // namespace Trk
76 
77 #endif // TRKALIGNMENT_ALIGNTRACKPREPROCESSOR_IH
Trk::IAlignTrackPreProcessor::processTrackCollection
virtual DataVector< Trk::Track > * processTrackCollection(const DataVector< Trk::Track > *trks)=0
Main processing of track collection.
Trk::IAlignTrackPreProcessor::setNtuple
virtual void setNtuple(TFile *)
Sets output ntuple file, to be implemented if needed for detector-specific implementation.
Definition: IAlignTrackPreProcessor.h:51
Trk::IAlignTrackPreProcessor::setLogStream
virtual void setLogStream(std::ostream *os)
sets the output stream for the logfile
Definition: IAlignTrackPreProcessor.h:48
Trk::IAlignTrackPreProcessor::fillNtuple
virtual StatusCode fillNtuple()
writes tree and histogrms to ntuple
Definition: IAlignTrackPreProcessor.h:54
Trk::IAlignTrackPreProcessor::m_logStream
std::ostream * m_logStream
logfile output stream
Definition: IAlignTrackPreProcessor.h:66
Trk::IAlignTrackPreProcessor::printSummary
virtual void printSummary()
Print processing summary to logfile.
Definition: IAlignTrackPreProcessor.h:62
Trk::IAlignTrackPreProcessor::accumulateVTX
virtual void accumulateVTX(AlignTrack *)
methods added for the full VTX fit:
Definition: IAlignTrackPreProcessor.h:57
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DataVector< Trk::Track >
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::AlignTrack
Definition: AlignTrack.h:41
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::IAlignTrackPreProcessor::solveVTX
virtual void solveVTX()
Definition: IAlignTrackPreProcessor.h:59
Trk::IAlignTrackPreProcessor::interfaceID
static const InterfaceID & interfaceID()
Definition: IAlignTrackPreProcessor.h:70
Trk::IAlignTrackPreProcessor
Definition: IAlignTrackPreProcessor.h:36
AlignTrack
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...