ATLAS Offline Software
Loading...
Searching...
No Matches
TGoodRunsListWriter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5
6/**********************************************************************************
7 * Class : TGoodRunsListWriter *
8 * *
9 * Authors (alphabetical): *
10 * Max Baak <mbaak@cern.ch> - CERN, Switzerland *
11 **********************************************************************************/
12
13#ifndef _TGoodRunsListWriter
14#define _TGoodRunsListWriter
15
16#include <vector>
17
18#include "TROOT.h"
19#include "TList.h"
20#include "TObject.h"
21#include "TString.h"
22
27
28typedef unsigned char xmlChar;
29typedef struct _xmlTextWriter xmlTextWriter;
31
32namespace Root {
33
34 class TLumiBlockRange;
35 class TGoodRun;
36 class TGoodRunsList;
37
39
40 public:
41
43 TGoodRunsListWriter( const TGoodRunsList& goodrunslist, const TString& dataCardName );
45
46 Bool_t WriteXMLFile();
47 Bool_t WriteXMLFiles();
48 const TString& GetXMLString();
49 const std::vector<TString>& GetXMLStrings();
50
51 // accessors
52 inline const TString& GetFilename() const { return m_dataCardName; }
53 inline const TGoodRunsList GetMergedGoodRunsList( const Root::BoolOperation& operation = OR ) const
54 { return m_grlvec.GetMergedGoodRunsList(operation); }
55 inline const TGRLCollection& GetGRLCollection() const { return m_grlvec; }
56
57 inline void SetMergeGoodRunsLists( bool merge=true ) { m_mergegrls=merge; }
58 inline void SetCheckGRLInfo( bool check=true ) { m_grlvec.SetCheckGRLInfo( check ); }
59 inline void SetIndividuals( bool indf=true ) { m_individuals=indf; }
60
61 void SetGRLCollection( const TGRLCollection& grlvec ) { reset(); m_grlvec=grlvec; }
62 void SetGoodRunsList( const TGoodRunsList& goodrunslist ) { reset(); m_grlvec.push_back(goodrunslist); }
63 void SetFilename( const TString& dataCardName ) { m_dataCardName=dataCardName; }
64 void SetPrefix( const TString& prefix ) { m_prefix=prefix; }
65 void AddGoodRunsList( const TGoodRunsList& goodrunslist ) { m_grlvec.push_back(goodrunslist); }
66
67 private:
68
69 // aux method
70 void reset();
71
72 Bool_t WriteLumiRangeCollection(xmlTextWriterPtr writer);
73 Bool_t WriteNamedLumiRange(xmlTextWriterPtr writer);
75 Bool_t WriteLumiBlockCollection(xmlTextWriterPtr writer, const TGoodRun& goodrun);
76 Bool_t WriteElement(xmlTextWriterPtr writer, const char* name, const char* value=0,
77 const char* atr1=0, const char* val1=0, const char* atr2=0, const char* val2=0);
78
79 xmlChar* ConvertInput(const char *in, const char *encoding);
80
83
84 std::vector<TString> m_xmlstringVec;
85 TString m_xmlstring;
87 TString m_prefix;
88
90
93
94 ClassDef(TGoodRunsListWriter,0)
95 };
96}
97
98#endif
99
struct _xmlTextWriter xmlTextWriter
xmlTextWriter * xmlTextWriterPtr
unsigned char xmlChar
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
xmlChar * ConvertInput(const char *in, const char *encoding)
ConvertInput: @in: string in a given encoding @encoding: the encoding used.
const TGoodRunsList GetMergedGoodRunsList(const Root::BoolOperation &operation=OR) const
void SetGRLCollection(const TGRLCollection &grlvec)
void SetIndividuals(bool indf=true)
Bool_t WriteMetadata(xmlTextWriterPtr writer)
const TString & GetFilename() const
void SetGoodRunsList(const TGoodRunsList &goodrunslist)
void SetMergeGoodRunsLists(bool merge=true)
void AddGoodRunsList(const TGoodRunsList &goodrunslist)
std::vector< TString > m_xmlstringVec
Bool_t WriteElement(xmlTextWriterPtr writer, const char *name, const char *value=0, const char *atr1=0, const char *val1=0, const char *atr2=0, const char *val2=0)
const std::vector< TString > & GetXMLStrings()
const TGRLCollection & GetGRLCollection() const
Bool_t WriteLumiBlockCollection(xmlTextWriterPtr writer, const TGoodRun &goodrun)
void SetPrefix(const TString &prefix)
void SetCheckGRLInfo(bool check=true)
void SetFilename(const TString &dataCardName)
Definition merge.py:1