- #ifndef TBALIGNMENT_H
- #define TBALIGNMENT_H 1
-
- // Tb/TbKernel
- #include "TbKernel/TbAlgorithm.h"
-
- // Local
- #include "TbAlignmentBase.h"
-
- /** @class TbAlignment TbAlignment.h
- *
- * Algorithm for telescope alignment.
- *
- * @author Angelo Di Canto
- * @date 2014-04-22
- */
-
- class TbAlignmentTrack;
-
- class TbAlignment : public TbAlgorithm {
-
- public:
- /// Standard constructor
- TbAlignment(const std::string& name, ISvcLocator* pSvcLocator);
- /// Destructor
- virtual ~TbAlignment();
-
- virtual StatusCode initialize(); ///< Algorithm initialization
- virtual StatusCode execute(); ///< Algorithm execution
- virtual StatusCode finalize(); ///< Algorithm finalization
-
- private:
- /// Output alignment file
- std::string m_outputFile;
- /// Alignment methods to be run
- std::vector<std::string> m_alignmentSequence;
- /// For the track counter printout
- unsigned int m_lastTrackPrint;
-
- /// Tracks for alignment
- std::vector<TbAlignmentTrack*> m_tracks;
- /// Number of alignment tracks after which to stop processsing.
- unsigned int m_nTracks;
-
- std::vector<TbAlignmentBase*> m_toolChain;
- std::vector<TbAlignmentBase*>::iterator m_toolIterator;
-
- bool writeAlignmentFile();
- };
-
- #endif // TBALIGNMENT_H