ATLAS Offline Software
Loading...
Searching...
No Matches
DiffStruct.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TrigConf_DiffStruct
6#define TrigConf_DiffStruct
7
8#include <unordered_map>
9
10#include <string>
11#include <vector>
12
13namespace TrigConf {
14 class DiffStruct {
15 public:
16 DiffStruct(const std::string& tagname, const std::string& name="");
18
19 void check(const std::string& attname, const std::string& lval, const std::string& rval);
20 void check(const std::string& attname, int lval, int rval);
21 void check(const std::string& attname, unsigned int lval, unsigned int rval);
22 void check(const std::string& attname, float lval, float rval);
23 void check(const std::string& attname, bool lval, bool rval);
24
25 void addSub(DiffStruct* sub);
26 void addRightOnlySub(const std::string& tagname, const std::string& name);
27 void addLeftOnlySub(const std::string& tagname, const std::string& name);
28
29 bool empty() const;
30
31 void writeXML(std::ofstream & xmlfile, const std::string& prefix="") const;
32
33 struct AttDiff {
34 AttDiff(const std::string& attname_, const std::string& lval_, const std::string& rval_) : attname(attname_), lval(lval_), rval(rval_) {}
35 std::string attname;
36 std::string lval;
37 std::string rval;
38 };
39 std::string tagname;
40 std::string name;
41 std::vector<AttDiff> attdiffs;
42 std::vector<DiffStruct*> subs;
43 typedef std::unordered_map<std::string, std::string> OnlyMap_t;
46
47
48 };
49}
50
51#endif
std::string tagname
Definition DiffStruct.h:39
void check(const std::string &attname, const std::string &lval, const std::string &rval)
std::vector< AttDiff > attdiffs
Definition DiffStruct.h:41
void addLeftOnlySub(const std::string &tagname, const std::string &name)
void writeXML(std::ofstream &xmlfile, const std::string &prefix="") const
void addRightOnlySub(const std::string &tagname, const std::string &name)
DiffStruct(const std::string &tagname, const std::string &name="")
std::unordered_map< std::string, std::string > OnlyMap_t
Definition DiffStruct.h:43
void addSub(DiffStruct *sub)
std::vector< DiffStruct * > subs
Definition DiffStruct.h:42
static std::vector< std::string > xmlfile
Definition iLumiCalc.h:29
Forward iterator to traverse the main components of the trigger configuration.
Definition Config.h:22
AttDiff(const std::string &attname_, const std::string &lval_, const std::string &rval_)
Definition DiffStruct.h:34