ATLAS Offline Software
JobOptionTable.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 #include <fstream>
7 #include <algorithm>
8 
9 using namespace std;
10 using namespace TrigConf;
11 
13  m_SuperMasterTableId(0),
14  m_HltMasterTableId(0),
15  m_TriggerLevel(0)
16 {}
17 
18 void
20  m_JobOptionVector.push_back(jo);
21 }
22 
23 void
24 TrigConf::JobOptionTable::print(const std::string& indent, unsigned int detail) const {
25  if(detail>=1) {
26  cout << indent << "=============================================" << endl;
27  cout << indent << "JobOptionTable" << endl;
28  cout << indent << " Super MasterTable Id = " << m_SuperMasterTableId << endl;
29  cout << indent << " HLT MasterTable Id = " << m_HltMasterTableId << endl;
30  cout << indent << " Number of parameters = " << m_JobOptionVector.size() << endl;
31  cout << indent << "=============================================" << endl;
32  if(detail>=3)
33  for(unsigned int i=0; i < m_JobOptionVector.size();i++)
34  m_JobOptionVector[i].print();
35  }
36 }
37 
38 void
40  ofstream of;
41  of.open (filename.c_str());
42  of << "=============================================" << endl;
43  of << "JobOptionTable" << endl;
44  of << " Super MasterTable Id = " << m_SuperMasterTableId << endl;
45  of << " HLT MasterTable Id = " << m_HltMasterTableId << endl;
46  of << " Number of parameters = " << m_JobOptionVector.size() << endl;
47  of << "=============================================" << endl;
48  for(unsigned int i=0; i < m_JobOptionVector.size();i++) {
49  of << m_JobOptionVector[i] << endl;
50  }
51  of.close();
52 
53 }
54 
55 namespace {
56  struct JOLessThan {
57  bool operator()(const TrigConf::JobOption& jo1, const TrigConf::JobOption& jo2) const {
58  int cmp = jo1.component_alias().compare( jo2.component_alias() );
59  if(cmp>0) return false;
60  if(cmp<0) return true;
61  return jo1.name().compare(jo2.name()) < 0;
62  }
63  };
64 }
65 
66 void
68  std::sort(m_JobOptionVector.begin(), m_JobOptionVector.end(), JOLessThan());
69 }
python.EI_Lib.cmp
def cmp(x, y)
Definition: EI_Lib.py:6
TrigConf::JobOptionTable::writeToFile
void writeToFile(const std::string &filename) const
writing to file as text
Definition: JobOptionTable.cxx:39
TrigConf::JobOptionTable::JobOptionTable
JobOptionTable()
default constructor
Definition: JobOptionTable.cxx:12
LB_AnalMapSplitter.of
of
Definition: LB_AnalMapSplitter.py:48
TrigConf::JobOptionTable::print
void print(const std::string &indent="", unsigned int detail=1) const override
print method
Definition: JobOptionTable.cxx:24
detail
Definition: extract_histogram_tag.cxx:14
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
geometry_dat_to_json.indent
indent
Definition: geometry_dat_to_json.py:18
lumiFormat.i
int i
Definition: lumiFormat.py:92
JobOptionTable.h
TrigConf::JobOption::component_alias
const std::string & component_alias() const
Definition: JobOption.h:53
TrigConf::JobOption
hold a single job option (parameter and value)
Definition: JobOption.h:32
TrigConf::JobOptionTable::sort
void sort()
sort alphabetically by component and property name
Definition: JobOptionTable.cxx:67
TrigConf::JobOption::name
const std::string & name() const
accessor to component alias
Definition: JobOption.h:54
TrigConf::JobOptionTable::addJobOption
void addJobOption(const JobOption &jo)
adds a job option to the table
Definition: JobOptionTable.cxx:19
std::sort
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
Definition: DVL_algorithms.h:623
Muon::print
std::string print(const MuPatSegment &)
Definition: MuonTrackSteering.cxx:28
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24