ROOT logo
// @(#)root/tree:$Id$
// Author: Fons Rademakers   7/11/2005

/*************************************************************************
 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TSelectorList
#define ROOT_TSelectorList


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TSelectorList                                                        //
//                                                                      //
// A THashList derived class that makes sure that objects added to it   //
// are not linked to the currently open file (like histograms,          //
// eventlists and trees). Also it makes sure the name of the added      //
// object is unique. This class is used in the TSelector for the        //
// output list.                                                         //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_THashList
#include "THashList.h"
#endif


class TSelectorList : public THashList {

private:
   Bool_t UnsetDirectory(TObject *obj);
   Bool_t CheckDuplicateName(TObject *obj);

public:
   TSelectorList() : THashList() { SetOwner(); }

   void AddFirst(TObject *obj);
   void AddFirst(TObject *obj, Option_t *opt);
   void AddLast(TObject *obj);
   void AddLast(TObject *obj, Option_t *opt);
   void AddAt(TObject *obj, Int_t idx);
   void AddAfter(const TObject *after, TObject *obj);
   void AddAfter(TObjLink *after, TObject *obj);
   void AddBefore(const TObject *before, TObject *obj);
   void AddBefore(TObjLink *before, TObject *obj);

   ClassDef(TSelectorList,1)  //Special TList used in the TSelector
};

#endif
 TSelectorList.h:1
 TSelectorList.h:2
 TSelectorList.h:3
 TSelectorList.h:4
 TSelectorList.h:5
 TSelectorList.h:6
 TSelectorList.h:7
 TSelectorList.h:8
 TSelectorList.h:9
 TSelectorList.h:10
 TSelectorList.h:11
 TSelectorList.h:12
 TSelectorList.h:13
 TSelectorList.h:14
 TSelectorList.h:15
 TSelectorList.h:16
 TSelectorList.h:17
 TSelectorList.h:18
 TSelectorList.h:19
 TSelectorList.h:20
 TSelectorList.h:21
 TSelectorList.h:22
 TSelectorList.h:23
 TSelectorList.h:24
 TSelectorList.h:25
 TSelectorList.h:26
 TSelectorList.h:27
 TSelectorList.h:28
 TSelectorList.h:29
 TSelectorList.h:30
 TSelectorList.h:31
 TSelectorList.h:32
 TSelectorList.h:33
 TSelectorList.h:34
 TSelectorList.h:35
 TSelectorList.h:36
 TSelectorList.h:37
 TSelectorList.h:38
 TSelectorList.h:39
 TSelectorList.h:40
 TSelectorList.h:41
 TSelectorList.h:42
 TSelectorList.h:43
 TSelectorList.h:44
 TSelectorList.h:45
 TSelectorList.h:46
 TSelectorList.h:47
 TSelectorList.h:48
 TSelectorList.h:49
 TSelectorList.h:50
 TSelectorList.h:51
 TSelectorList.h:52
 TSelectorList.h:53
 TSelectorList.h:54
 TSelectorList.h:55