Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
components.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file components.h
1 /* This software is distributed under the GNU Lesser General Public License */
2 //==========================================================================
3 //
4 // components.h
5 //
6 //==========================================================================
7 // $Id: components.h,v 1.5 2003/04/03 11:44:42 raitner Exp $
8 
9 #ifndef GTL_COMPONENTS_H
10 #define GTL_COMPONENTS_H
11 
12 #include <GTL/GTL.h>
13 #include <GTL/dfs.h>
14 
15 #include <list>
16 
21 class GTL_EXTERN components : public dfs
22 {
23 public:
29  components ();
30 
36  virtual ~components () {}
37 
50  virtual int check (graph& G);
51 
52  virtual void reset ();
53 
57  typedef list<pair<list<node>, list<edge> > >::iterator component_iterator;
58 
71  component_iterator components_begin ()
72  { return comp.begin(); }
73 
74 
81  component_iterator components_end ()
82  { return comp.end(); }
83 
89  int number_of_components () const
90  {return num_of_components; }
91 
92  //-----------------------------------------------------------------------
93  // Handler used to extend dfs to biconnectivity
94  //-----------------------------------------------------------------------
98  virtual void before_recursive_call_handler (graph&, edge&, node&);
99 
103  virtual void old_adj_node_handler (graph&, edge&, node&);
104 
108  virtual void new_start_handler (graph&, node&);
109 
110 
111 protected:
112 
120  list<pair<list<node>, list<edge> > > comp;
125 };
126 
128 
129 #endif // GTL_BICONNECTIVITY_H
130 
131 //--------------------------------------------------------------------------
132 // end of file
133 //--------------------------------------------------------------------------