- #ifndef TBPIXELSVC_H
- #define TBPIXELSVC_H
-
- // Gaudi
- #include "GaudiKernel/Service.h"
- #include "GaudiKernel/Bootstrap.h"
- #include "GaudiKernel/MsgStream.h"
-
- // Local
- #include "TbKernel/ITbDataSvc.h"
- #include <stdint.h>
-
- template <class TYPE>
- class SvcFactory;
-
- /** @class TbDataSvc TbDataSvc.h
- *
- * Implementation of the Testbeam data / configuration lookup services
- * for use with EOS
- */
-
- class TbDataSvc : public extends1<Service, ITbDataSvc> {
-
- public:
- /// Constructor
- TbDataSvc(const std::string& name, ISvcLocator* svc);
- /// Destructor
- virtual ~TbDataSvc();
-
- virtual StatusCode initialize();
- virtual StatusCode finalize();
-
- virtual const std::vector<std::string>& getInputFiles() {
- return m_inputFiles;
- }
- virtual const std::vector<std::string>& getPixelConfig() {
- return m_pixelFiles;
- }
- virtual const std::string& getTimingConfig() { return m_timingFile; }
- virtual const std::string& getAlignmentFile() { return m_alignmentFile; }
- virtual const std::vector<std::string>& getEtaConfig() {
- return m_etaFiles;
- }
-
- private:
- /// Allow SvcFactory to instantiate the service.
- friend class SvcFactory<TbDataSvc>;
-
- std::vector<std::string> m_inputs;
- std::vector<std::string> m_inputFiles;
- std::vector<std::string> m_pixelFiles;
- std::string m_alignmentFile;
- std::string m_timingFile;
- std::vector<std::string> m_etaFiles;
-
- /// Pointer to message stream
- mutable MsgStream* m_msg = nullptr;
- /// On-demand access to message stream
- MsgStream& msg() const {
- if (!m_msg) m_msg = new MsgStream(msgSvc(), name());
- return *m_msg;
- }
- /// Add the prefix for reading network files.
- std::string expandPath(const std::string& fname);
- };
-
- #endif