Analysis  version 7.0 - august 2014
TreeList.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file TreeList.hh
3  *
4  * Déclaration de la classe TreeList qui décrit
5  * une liste d'arbres.
6  */
7 //======================================================================
8 
9 #ifndef TREE_LIST_HH
10 #define TREE_LIST_HH
11 
12 #include "EventCommon.hh"
13 #include "TreeInfo.hh"
14 
15 // nécessaire pour la génération du dictionnaire ROOT parce que la classe
16 // GListT<T> (constructeur) a besoin de la définition de GVectT<T>
17 #include "GVectT.hh"
18 #include "GNamedListT.hh"
19 #include "RPointerList.hh"
20 
21 //======================================================================
22 /*! \class TreeList
23  *
24  * Cette classe décrit une liste de d'arbres.
25  */
26 class TreeList : protected GNamedListT<TreeInfo>
27 {
28 //----------------------------------------------------------------------
29  /*! \object_doc */
31 //----------------------------------------------------------------------
32 
33  friend class EventManager;
34 
35  /// Définition du type itérateur pour les listes d'arbres
36  typedef GListIterT<TreeInfo> iterator;
37 
38  using GNamedListT<TreeInfo>::GetSize;
39  using GNamedListT<TreeInfo>::Empty;
40  using GNamedListT<TreeInfo>::Begin;
41  using GNamedListT<TreeInfo>::End;
42  using GNamedListT<TreeInfo>::Null;
43  using GNamedListT<TreeInfo>::Current;
44  using GNamedListT<TreeInfo>::ExistName;
45  using GNamedListT<TreeInfo>::FindName;
46  using GNamedListT<TreeInfo>::Find;
47 
48  using GNamedListT<TreeInfo>::MoveUp;
49  using GNamedListT<TreeInfo>::MoveDown;
50  using GNamedListT<TreeInfo>::MoveTop;
51  using GNamedListT<TreeInfo>::MoveBottom;
52 
53  protected:
54 
55 
56  public:
57 
58 //----------------------------------------------------------------------
59 // CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR
60 //----------------------------------------------------------------------
61 
62  // Constructeur par défaut.
63  TreeList ( );
64 
65  // Constructeur de recopie.
66  TreeList( const TreeList & );
67 
68  // Destructeur
69  virtual ~TreeList ( );
70 
71 //----------------------------------------------------------------------
72 
73  // retourne le pointeur sur les infos d'un arbre
74  TreeInfo * GetTreePtr ( const u_int tree_num ) const;
75  TreeInfo * GetTreePtr ( const string & tree_name ) const;
76  virtual int GetTreeIndex ( const string & tree_name ) const;
77 
78  // retourne le pointeur sur le TTree ROOT
79  TTree * GetTTreePtr ( const u_int tree_num ) const;
80  TTree * GetTTreePtr ( const string & tree_name ) const;
81 
82 //----------------------------------------------------------------------
83  // actions sur toute la liste la liste des arbres
84  virtual void IncrementList ( ) const;
85  virtual void StartList ( ) const;
86  virtual void StopList ( ) const;
87  virtual void SuspendList ( ) const;
88 
89  virtual void OpenList ( const Int_t m = -1 ) const;
90  virtual void CloseList ( const Int_t m = -1 ) const;
91 
92  // mise à jour du numéro de fichier pour tous les arbres en mode run
93  virtual void SetFileNumber ( const Int_t f_num, Int_t f_sub = 0 );
94  virtual void SetFileBase ( const string &f_base );
95 
96  protected:
97  virtual void IncrementListFast ( ) const;
98 
99  public:
100 
101 //----------------------------------------------------------------------
102  // Lecture / Ecriture de la liste de'arbres.
103  virtual Int_t Save ( const string & file_name ) const;
104  virtual Int_t Save ( FILE * fptr ) const;
105  virtual Int_t Load ( const string & file_name, const EventManager *mgr, const bool append = true );
106  virtual Int_t Load ( FILE * fptr, const EventManager *mgr, const bool append = true );
107 
108 //----------------------------------------------------------------------
109 // Gestion des filtres
110 
111  // filtres
112  virtual void SetFilter ( const Filter *f );
113  virtual void ResetFilter ( );
114 
115  // teste si un des arbres de la liste utilise un contour ou un filtre
116  virtual TreeInfo * UsesContour ( const RContour * ct, const bool rec = true ) const;
117  virtual TreeInfo * UsesFilter ( const Filter * f, const bool rec = true ) const;
118 
119  // retourne des listes de pointeurs sur les arbres utilisant un
120  // contour ou un filtre donné. virtual u_int GetListUsingContour ( const RContour *ct, RPointerList & list ) const; virtual u_int GetListUsingFilter ( const Filter *f, RPointerList & list ) const; //---------------------------------------------------------------------- // méthode surchargées de la classe GListT (protégée) virtual GListIterT<TreeInfo> AddTree ( TreeInfo * tree ); //---------------------------------------------------------------------- // pour ROOT... public: /*! Définition à usage de ROOT... */ ClassDef(TreeList,0); }; //====================================================================== /*! Démarre tous les abres de la liste.*/ inline void TreeList::StartList ( ) const { for (GListIterT<TreeInfo> i = Begin(); i != Null(); ++i) { i->Start(); } } /*! Arrête tous les arbres de la liste.*/ inline void TreeList::StopList ( ) const { for (GListIterT<TreeInfo> i = Begin(); i != Null(); ++i) { i->Stop(); } } /*! Suspend tous les arbres de la liste.*/ inline void TreeList::SuspendList ( ) const { for (GListIterT<TreeInfo> i = Begin(); i != Null(); ++i) { i->Suspend(); } } //====================================================================== #endif
121  virtual u_int GetListUsingContour ( const RContour *ct, RPointerList & list ) const;
122  virtual u_int GetListUsingFilter ( const Filter *f, RPointerList & list ) const;
123 
124 //----------------------------------------------------------------------
125 // méthode surchargées de la classe GListT (protégée)
126 
127  virtual GListIterT<TreeInfo> AddTree ( TreeInfo * tree );
128 
129 //----------------------------------------------------------------------
130 // pour ROOT...
131  public:
132  /*! Définition à usage de ROOT... */
133  ClassDef(TreeList,0);
134 };
135 
136 //======================================================================
137 
138 /*! Démarre tous les abres de la liste.*/
139 inline void TreeList::StartList ( ) const
140 {
141  for (GListIterT<TreeInfo> i = Begin(); i != Null(); ++i)
142  { i->Start(); }
143 }
144 
145 /*! Arrête tous les arbres de la liste.*/
146 inline void TreeList::StopList ( ) const
147 {
148  for (GListIterT<TreeInfo> i = Begin(); i != Null(); ++i)
149  { i->Stop(); }
150 }
151 
152 /*! Suspend tous les arbres de la liste.*/
153 inline void TreeList::SuspendList ( ) const
154 {
155  for (GListIterT<TreeInfo> i = Begin(); i != Null(); ++i)
156  { i->Suspend(); }
157 }
158 
159 //======================================================================
160 
161 #endif
virtual void IncrementList() const
Definition: TreeList.cpp:357
virtual void StopList() const
Definition: TreeList.hh:146
virtual void StartList() const
Definition: TreeList.hh:139
GListIterT< TreeInfo > iterator
Définition du type itérateur pour les listes d&#39;arbres.
Definition: TreeList.hh:36
virtual TreeInfo * UsesFilter(const Filter *f, const bool rec=true) const
Definition: TreeList.cpp:240
Definition: TreeInfo.hh:95
virtual void SuspendList() const
Definition: TreeList.hh:153
Definition: TreeList.hh:26
Definition: Filter.hh:50
virtual int GetTreeIndex(const string &tree_name) const
Definition: TreeList.cpp:79
ClassDef(TreeList, 0)
virtual void SetFilter(const Filter *f)
Definition: TreeList.cpp:190
virtual GListIterT< TreeInfo > AddTree(TreeInfo *tree)
Definition: TreeList.cpp:330
virtual void IncrementListFast() const
Definition: TreeList.cpp:369
virtual void SetFileBase(const string &f_base)
Definition: TreeList.cpp:142
virtual Int_t Load(const string &file_name, const EventManager *mgr, const bool append=true)
Definition: TreeList.cpp:434
virtual void OpenList(const Int_t m=-1) const
Definition: TreeList.cpp:155
virtual void SetFileNumber(const Int_t f_num, Int_t f_sub=0)
Definition: TreeList.cpp:130
TreeInfo * GetTreePtr(const u_int tree_num) const
Definition: TreeList.cpp:48
virtual void CloseList(const Int_t m=-1) const
Definition: TreeList.cpp:171
TTree * GetTTreePtr(const u_int tree_num) const
Definition: TreeList.cpp:97
GObject(TreeList)
virtual TreeInfo * UsesContour(const RContour *ct, const bool rec=true) const
Definition: TreeList.cpp:218
virtual Int_t Save(const string &file_name) const
Definition: TreeList.cpp:384
virtual ~TreeList()
Definition: TreeList.cpp:32
virtual u_int GetListUsingContour(const RContour *ct, RPointerList &list) const
Definition: TreeList.cpp:263
Definition: EventManager.hh:59
virtual u_int GetListUsingFilter(const Filter *f, RPointerList &list) const
Definition: TreeList.cpp:297
TreeList()
Definition: TreeList.cpp:19
virtual void ResetFilter()
Definition: TreeList.cpp:205