3#ifndef __KVRUNLISTLINE_H
4#define __KVRUNLISTLINE_H
9#include "KVNameValueList.h"
54 virtual ~ KVRunListLine();
76 virtual void Print()
const;
79 "Trigger",
const Char_t* fmt =
"M>=%d");
81 template<
typename T,
typename... Args>
98 template<
typename T,
typename... Args>
138 if (!(
index > -1 && index < fFields->GetEntries()))
192 std::cout <<
name <<
" : ";
196 std::cout <<
"[absent]" << std::endl;
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Extended TList class which owns its objects by default.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Int_t GetIntValue(const Char_t *name) const
Bool_t HasParameter(const Char_t *name) const
Base class for reading runlists for experiments ,.
Int_t BreakLineIntoFields(const char)
TString fLine
line to analyse
Bool_t FieldContains(const Char_t *, const Char_t *) const
Returns true if "field" exists, has been filled, and contains "string" as part or all of its value.
Bool_t HasFieldValue(const Char_t *) const
TObjArray * fFields
array of all fields after break down of fLine
KVList fFieldKeys
key words used to recognise field headings
Float_t GetFloatField(const Char_t *)
Int_t GetFieldIndex(const Char_t *) const
virtual Bool_t IsFieldHeader()
Returns kTRUE if and only if current line contains ALL of the keywords defined by SetFieldKeys()
virtual void Print() const
void SetRunKeys(T key0, Args... keys)
Bool_t IsFloat(const Char_t *name)
virtual Bool_t GoodRunLine()
Returns kTRUE if and only if current line contains integer values for ALL the fields defined by SetRu...
TObjString * GetFieldString(const Char_t *) const
Bool_t fFieldsSet
flag set once fields have been set
void SetFieldKeys(T key0, Args... keys)
Bool_t HasField(const Char_t *) const
INLINES_______________________________________________________________________________.
virtual Int_t GetTrigger(const Char_t *field_name="Trigger", const Char_t *fmt="M>=%d")
KVList fRunKeys
fields that must be present (have a value) for a line to be considered a "good run line"
void PrintFieldValue(const Char_t *name) const
Int_t fMaxNFields
maximum allowed number of fields i.e. size of TObjArray fFields
void SetLine(const Char_t *)
Int_t GetIntField(const Char_t *)
virtual const Char_t * GetField(const Char_t *) const
KVNameValueList fIndexList
list of integer indexes corresponding to field names
virtual void Clear(Option_t *option="")
virtual void Add(TObject *obj)
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
void Clear(Option_t *option="") override
Bool_t IsWhitespace() const