Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TSelectorList.h
Go to the documentation of this file.
1 // @(#)root/tree:$Id$
2 // Author: Fons Rademakers 7/11/2005
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TSelectorList
13 #define ROOT_TSelectorList
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TSelectorList //
19 // //
20 // A THashList derived class that makes sure that objects added to it //
21 // are not linked to the currently open file (like histograms, //
22 // eventlists and trees). Also it makes sure the name of the added //
23 // object is unique. This class is used in the TSelector for the //
24 // output list. //
25 // //
26 //////////////////////////////////////////////////////////////////////////
27 
28 #include "THashList.h"
29 
30 
31 class TSelectorList : public THashList {
32 
33 private:
34  Bool_t UnsetDirectory(TObject *obj);
35  Bool_t CheckDuplicateName(TObject *obj);
36 
37 public:
38  TSelectorList() : THashList() { SetOwner();}
39 
40  void AddFirst(TObject *obj);
41  void AddFirst(TObject *obj, Option_t *opt);
42  void AddLast(TObject *obj);
43  void AddLast(TObject *obj, Option_t *opt);
44  void AddAt(TObject *obj, Int_t idx);
45  void AddAfter(const TObject *after, TObject *obj);
46  void AddAfter(TObjLink *after, TObject *obj);
47  void AddBefore(const TObject *before, TObject *obj);
48  void AddBefore(TObjLink *before, TObject *obj);
49 
50  ClassDef(TSelectorList,1) //Special TList used in the TSelector
51 };
52 
53 #endif