- #ifndef TB_COMBATBUILDER_H
- #define TB_COMBATBUILDER_H 1
-
- #include <fstream>
-
- // Boost
- #include <boost/iostreams/device/mapped_file.hpp>
-
- // Tb/TbEvent
- #include "Event/TbHit.h"
- #include "Event/TbTrigger.h"
-
- // Tb/TbKernel
- #include "TbKernel/TbAlgorithm.h"
-
- /** @class TbCombatBuilder TbCombatBuilder.h
- * @author Dan Saunders & Vinicius Franco
- * @date 2014-09-22
- */
-
- class TbCombatBuilder : public TbAlgorithm {
- public:
- /// Standard constructor
- TbCombatBuilder(const std::string& name, ISvcLocator* pSvcLocator);
- /// Destructor
- virtual ~TbCombatBuilder();
-
- virtual StatusCode initialize(); ///< Algorithm initialization
- virtual StatusCode execute(); ///< Algorithm execution
- virtual StatusCode finalize(); ///< Algorithm termination
-
- private:
- /// Input data files
- std::string m_readoutFormat;
- std::string m_fileName0;
- std::string m_fileName1;
- std::ifstream m_dataStream0;
- std::ifstream m_dataStream1;
- /// TES location of output hits
- std::string m_hitLocation;
- int m_nPixels;
-
- /// Number of events to skip TODO
- unsigned int m_skipEvents;
- /// Min. number of non-empty planes required to make an event TODO
- unsigned int m_nMinPlanesWithHits;
-
- /// Frequency to print event count.
- unsigned int m_printFreq;
-
- /// Number of processed events
- unsigned int m_nEvents;
- std::vector<LHCb::TbHits*> m_hits;
-
- /// Fake timestamp (not htime).
- int m_fakeTime;
- bool m_neof;
- int m_nArms; // 1 for vertical lab cases, 2 for testbeams.
-
- void fillHit(std::string, int);
- void fillEventFromPixelmanFile(const int arm);
- void fillEventFromRelaxDFile();
- };
-
- #endif