Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:12:24

0001 // @(#)root/tree:$Id$
0002 // Author: Fons Rademakers   7/11/2005
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TSelectorList
0013 #define ROOT_TSelectorList
0014 
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TSelectorList                                                        //
0019 //                                                                      //
0020 // A THashList derived class that makes sure that objects added to it   //
0021 // are not linked to the currently open file (like histograms,          //
0022 // eventlists and trees). Also it makes sure the name of the added      //
0023 // object is unique. This class is used in the TSelector for the        //
0024 // output list.                                                         //
0025 //                                                                      //
0026 //////////////////////////////////////////////////////////////////////////
0027 
0028 #include "THashList.h"
0029 
0030 
0031 class TSelectorList : public THashList {
0032 
0033 private:
0034    bool UnsetDirectory(TObject *obj);
0035    bool CheckDuplicateName(TObject *obj);
0036 
0037 public:
0038    TSelectorList() : THashList() { SetOwner();}
0039 
0040    void AddFirst(TObject *obj) override;
0041    void AddFirst(TObject *obj, Option_t *opt) override;
0042    void AddLast(TObject *obj) override;
0043    void AddLast(TObject *obj, Option_t *opt) override;
0044    void AddAt(TObject *obj, Int_t idx) override;
0045    void AddAfter(const TObject *after, TObject *obj) override;
0046    void AddAfter(TObjLink *after, TObject *obj) override;
0047    void AddBefore(const TObject *before, TObject *obj) override;
0048    void AddBefore(TObjLink *before, TObject *obj) override;
0049 
0050    ClassDefOverride(TSelectorList,1)  //Special TList used in the TSelector
0051 };
0052 
0053 #endif