11 #ifndef ROOT_ProcFileElements
12 #define ROOT_ProcFileElements
18 class ProcFileElements :
public TObject {
21 class ProcFileElement :
public TObject {
25 ProcFileElement(Long64_t fst = 0, Long64_t lst = -1) :
26 fFirst(fst), fLast(lst) { }
27 virtual ~ProcFileElement() { }
29 Int_t Compare(
const TObject *obj)
const;
31 Bool_t IsSortable()
const {
return kTRUE; }
32 Int_t MergeElement(ProcFileElement *);
34 Int_t Overlapping(ProcFileElement *);
35 void Print(Option_t *option=
"")
const;
37 ClassDef(ProcFileElement, 1);
42 TSortedList *fElements;
48 ProcFileElements(
const char *fn =
"") : fName(fn), fElements(0),
49 fFirst(0), fLast(-1) { }
50 virtual ~ProcFileElements() {
if (fElements) { fElements->SetOwner();
52 const char * GetName()
const {
return fName; }
53 ULong_t Hash()
const {
return fName.Hash(); }
55 Int_t Add(Long64_t fst = 0, Long64_t lst = -1);
56 Int_t Merge(TCollection *list);
58 TSortedList *GetListOfElements()
const {
return fElements; }
59 Int_t GetNumElements()
const {
return (fElements ? fElements->GetSize() : 0); }
61 Long64_t GetFirst()
const {
return fFirst; }
62 Long64_t GetLast()
const {
return fLast; }
64 void Print(Option_t *option=
"")
const;
66 ClassDef(ProcFileElements, 1);