- // Boost
- #include "boost/format.hpp"
-
- // Local
- #include "TbKernel/TbAlgorithm.h"
-
- //=============================================================================
- // Standard constructor
- //=============================================================================
- TbAlgorithm::TbAlgorithm(const std::string& name, ISvcLocator* pSvcLocator)
- : GaudiTupleAlg(name, pSvcLocator) {
-
- declareProperty("PrintConfiguration", m_printConfiguration = false);
- declareProperty("MaskedPlanes", m_maskedPlanes = {});
-
- }
-
- //=============================================================================
- // Destructor
- //=============================================================================
- TbAlgorithm::~TbAlgorithm() {}
-
- //=============================================================================
- // Initialisation
- //=============================================================================
- StatusCode TbAlgorithm::initialize() {
-
- // Initialise the base class.
- StatusCode sc = GaudiTupleAlg::initialize();
- if (sc.isFailure()) return sc;
- // Get the number of telescope planes.
- m_nPlanes = geomSvc()->modules().size();
- m_nDevices = geomSvc()->nDevices();
- // Set the flags whether a plane is masked or not.
- m_masked.resize(m_nPlanes, false);
- for (const unsigned int plane : m_maskedPlanes) {
- m_masked[plane] = true;
- }
-
- setHistoTopDir("Tb/");
- // If requested, print the properties specific to this algorithm.
- if (m_printConfiguration) {
- boost::format fmt(" %|-30.30s|%|32t| %s ");
- const auto& props = this->getProperties();
- info() << std::string(70, '-') << endmsg;
- info() << "Configuration of " << this->name() << endmsg;
- info() << std::string(70, '-') << endmsg;
- for (auto it = props.crbegin(), end = props.crend(); it != end; ++it) {
- const std::string name = (*it)->name();
- // Stop when we reach the base class properties.
- if (name == "PrintConfiguration") break;
- info() << fmt % name % (*it)->toString() << endmsg;
- }
- }
- return StatusCode::SUCCESS;
-
- }
-
- //=============================================================================
- // Main execution
- //=============================================================================
- StatusCode TbAlgorithm::execute() {
-
- return StatusCode::SUCCESS;
-
- }
-
- //=============================================================================
- // Finalisation
- //=============================================================================
- StatusCode TbAlgorithm::finalize() {
-
- return GaudiTupleAlg::finalize();
-
- }