ATLAS Offline Software
Loading...
Searching...
No Matches
MuctpiXMLParser.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5//--------------------------------
6// This is the MuctpiXMLParser class. It containts all the methods required to
7// parse the configuration XML. The parsed information is stored in a container
8// class MuctpiConfigAlg. This container is sent to the TopoSteering and its contents
9// are unloaded and used to configurate the decision algorithm.
10//-------------------------------
11
12#ifndef MUCTPIXMLPARSER_HPP
13#define MUCTPIXMLPARSER_HPP
14
15
16
17#include "TrigConfBase/TrigConfMessaging.h"//inheritance
18
19
20// boost libraries
21#include <boost/property_tree/ptree.hpp>
22
23#include "TrigConfMuctpi/MuCTPiGeometry.h"//member
24#include "TrigConfMuctpi/MuctpiXMLHelper.h"//member
25#include <string>
26
27class MioctGeometry;
32
34{
35
36public:
37
38 //Constructor
40
41 //Destructor
42 virtual ~MuctpiXMLParser() override = default;
43
44 // print the parsed configuration
45 void printConfiguration() const;
46
47 // set verbosity (level out output to screen)
48 // something like 3=high, 2=med, 1=low
49 void setVerbosity(int v) { m_verbosity=v; }
50
51 // method to get a single algorithm from the parsed configuration file
52 const MuCTPiGeometry& getMuCTPiGeometry() const {return m_muctpi; }
53
54 // read input configuration and check for errors
55 void readConfiguration(const std::string & inputfile);
56
57 // read input configuration and check for errors
58 void setConfiguration(boost::property_tree::ptree ptree) { m_muctpiPT = ptree; }
59
60 // parse configuration and fill algorithm containers
61 void parseConfiguration();
62
63
64private:
65
66 // methods to set parameters for menu objects
67 void setOctant( boost::property_tree::ptree menuElement, MioctGeometry &octant);
68 void setSector( boost::property_tree::ptree menuElement, MioctSectorGeometry &sector);
69 void setROI( boost::property_tree::ptree menuElement, MioctROIGeometry &roi);
70 void setTopoCell(boost::property_tree::ptree menuElement, MioctTopoCellGeometry &topocell);
71 void setPtEncoding(boost::property_tree::ptree menuElement, L1MuonPtEncoding & ptEncoding);
72
73
74 // input validation variables
75 int m_verbosity {0};
76
77 // configuration variables
78 boost::property_tree::ptree m_muctpiPT;
81};
82
83
84
85#endif
boost::property_tree::ptree ptree
Messaging base class for TrigConf code shared with Lvl1 ( AthMessaging)
void setSector(boost::property_tree::ptree menuElement, MioctSectorGeometry &sector)
boost::property_tree::ptree m_muctpiPT
MuCTPiGeometry m_muctpi
void setConfiguration(boost::property_tree::ptree ptree)
void setOctant(boost::property_tree::ptree menuElement, MioctGeometry &octant)
void setTopoCell(boost::property_tree::ptree menuElement, MioctTopoCellGeometry &topocell)
void setROI(boost::property_tree::ptree menuElement, MioctROIGeometry &roi)
void setVerbosity(int v)
virtual ~MuctpiXMLParser() override=default
void printConfiguration() const
void readConfiguration(const std::string &inputfile)
void setPtEncoding(boost::property_tree::ptree menuElement, L1MuonPtEncoding &ptEncoding)
MuctpiXMLHelper m_xmlHelper
const MuCTPiGeometry & getMuCTPiGeometry() const
Class to provide easy access to TrigConf::MsgStream for TrigConf classes.