Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ProcFileElements.h File Reference

Detailed Description

Class to hold information about the processed elements of a file.

#ifndef ROOT_ProcFileElements
#define ROOT_ProcFileElements
#include "TObject.h"
#include "TSortedList.h"
class ProcFileElements : public TObject {
public:
class ProcFileElement : public TObject {
public:
Long64_t fFirst; // Lower bound of this range
Long64_t fLast; // Upper bound of this range
ProcFileElement(Long64_t fst = 0, Long64_t lst = -1) :
fFirst(fst), fLast(lst) { }
~ProcFileElement() override { }
Int_t Compare(const TObject *obj) const override;
Bool_t IsSortable() const override { return kTRUE; }
Int_t MergeElement(ProcFileElement *);
Int_t Overlapping(ProcFileElement *);
void Print(Option_t *option="") const override;
ClassDefOverride(ProcFileElement, 1); // ProcFileElement class
};
private:
TString fName; // File name
TSortedList *fElements; // List of processed elements
Long64_t fFirst; // Overall lower bound
Long64_t fLast; // Overall Upper bound
public:
ProcFileElements(const char *fn = "") : fName(fn), fElements(nullptr),
fFirst(0), fLast(-1) { }
~ProcFileElements() override { if (fElements) { fElements->SetOwner();
delete fElements; } }
const char * GetName() const override { return fName; }
ULong_t Hash() const override { return fName.Hash(); }
Int_t Add(Long64_t fst = 0, Long64_t lst = -1);
Int_t Merge(TCollection *list);
TSortedList *GetListOfElements() const { return fElements; }
Int_t GetNumElements() const { return (fElements ? fElements->GetSize() : 0); }
Long64_t GetFirst() const { return fFirst; }
Long64_t GetLast() const { return fLast; }
void Print(Option_t *option="") const override;
ClassDefOverride(ProcFileElements, 1); // Processed File Elements class
};
#endif
bool Bool_t
Definition RtypesCore.h:63
int Int_t
Definition RtypesCore.h:45
unsigned long ULong_t
Definition RtypesCore.h:55
long long Long64_t
Definition RtypesCore.h:69
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
Int_t Compare(const void *item1, const void *item2)
Option_t Option_t option
void Print(GNN_Data &d, std::string txt="")
T1 fFirst
Definition X11Events.mm:86
Collection abstract base class.
Definition TCollection.h:65
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Mother of all ROOT objects.
Definition TObject.h:41
virtual const char * GetName() const
Returns name of object.
Definition TObject.cxx:456
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
Definition TObject.cxx:654
virtual ULong_t Hash() const
Return hash value for this object.
Definition TObject.cxx:532
A sorted doubly linked list.
Definition TSortedList.h:28
Basic string class.
Definition TString.h:139
UInt_t Hash(ECaseCompare cmp=kExact) const
Return hash value.
Definition TString.cxx:677
TMatrixT< Element > & Add(TMatrixT< Element > &target, Element scalar, const TMatrixT< Element > &source)
Modify addition: target += scalar * source.
Author
Gerardo Ganis (gerar.nosp@m.do.g.nosp@m.anis@.nosp@m.cern.nosp@m..ch)

Definition in file ProcFileElements.h.