29 calling_field_keys =
false;
30 calling_run_keys =
false;
37 KVRunListLine::~KVRunListLine()
65 Int_t end = fLine.Index(delim);
72 TString _dummy = fLine(start, end - start);
80 #if ROOT_VERSION_CODE >= ROOT_VERSION(3,5,0)
91 if (allfields == fMaxNFields) {
96 end = fLine.Index(delim, end + 1);
98 if (end == -1 && start < fLine.Length())
129 TIter next_field(fFields);
132 while ((field = (
TObjString*) next_field())) {
142 if (!fIndexList.GetNpar()) {
144 Error(
Form(
"%s::SetFields", IsA()->GetName()),
"No indices set");
163 Int_t idx = GetFieldIndex(fname);
206 if (HasFieldValue(fname) && kvs.
IsDigit())
248 cout << IsA()->GetName() <<
" object" << endl;
249 cout <<
"Current line : " << endl << fLine << endl;
255 cout <<
"Field name : current value" << endl;
256 cout <<
"==========================" << endl;
258 for (
Int_t j = 0; j < fIndexList.GetNpar(); j++) {
259 PrintFieldValue(fIndexList.GetParameter(j)->GetName());
283 if (HasFieldValue(name)) {
301 const Char_t*
string)
const
304 if (!HasFieldValue(field))
330 if (!HasFieldValue(field_name))
333 if (sscanf(GetField(field_name), fmt, &trigger) != 1) {
335 "trigger field - %s - unreadable", GetField(field_name));
356 if (!fFieldKeys.GetSize()) {
361 TIter next_kw(&fFieldKeys);
381 if (!fRunKeys.GetSize()) {
386 TIter next_kw(&fRunKeys);
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
char * Form(const char *fmt,...)
Base class for reading runlists for experiments ,.
Int_t BreakLineIntoFields(const char)
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.
Float_t GetFloatField(const Char_t *)
virtual Bool_t IsFieldHeader()
Returns kTRUE if and only if current line contains ALL of the keywords defined by SetFieldKeys()
virtual void Print() const
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
virtual Int_t GetTrigger(const Char_t *field_name="Trigger", const Char_t *fmt="M>=%d")
Int_t GetIntField(const Char_t *)
virtual const Char_t * GetField(const Char_t *) const
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
virtual void Expand(Int_t newSize)
const TString & GetString() const
const char * Data() const
TString & Remove(EStripType s, char c)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const