SISCone  2.0.6
siscone.h
1 // -*- C++ -*-
3 // File: siscone.h //
4 // Description: header file for the main SISCone class //
5 // This file is part of the SISCone project. //
6 // For more details, see http://projects.hepforge.org/siscone //
7 // //
8 // Copyright (c) 2006 Gavin Salam and Gregory Soyez //
9 // //
10 // This program is free software; you can redistribute it and/or modify //
11 // it under the terms of the GNU General Public License as published by //
12 // the Free Software Foundation; either version 2 of the License, or //
13 // (at your option) any later version. //
14 // //
15 // This program is distributed in the hope that it will be useful, //
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
18 // GNU General Public License for more details. //
19 // //
20 // You should have received a copy of the GNU General Public License //
21 // along with this program; if not, write to the Free Software //
22 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
23 // //
24 // $Revision:: 325 $//
25 // $Date:: 2011-11-25 12:41:17 +0100 (Fri, 25 Nov 2011) $//
27 
28 #ifndef __SISCONE_H__
29 #define __SISCONE_H__
30 
31 #include "protocones.h"
32 #include "split_merge.h"
33 
34 namespace siscone{
35 
48 class Csiscone : public Cstable_cones, public Csplit_merge{
49  public:
51  Csiscone();
52 
54  ~Csiscone();
55 
76  int compute_jets(std::vector<Cmomentum> &_particles, double _radius, double _f,
77  int _n_pass_max=0, double _ptmin=0.0,
78  Esplit_merge_scale _split_merge_scale=SM_pttilde);
79 
92  int recompute_jets(double _f, double _ptmin = 0.0,
93  Esplit_merge_scale _split_merge_scale=SM_pttilde);
94 
96  std::vector<std::vector<Cmomentum> > protocones_list;
97 
98  // random number initialisation
99  static bool init_done;
100 
101 #ifdef DEBUG_STABLE_CONES
102  int nb_hash_cones_total, nb_hash_occupied_total;
103 #endif
104 
116  static void set_banner_stream(std::ostream * ostr) {_banner_ostr = ostr;}
117 
122  static std::ostream * banner_stream() {return _banner_ostr;}
123 
124  private:
125  bool rerun_allowed;
126  static std::ostream * _banner_ostr;
127 };
128 
129 
130 // finally, a bunch of functions to access to
131 // basic information (package name, version)
132 //---------------------------------------------
133 
141 std::string siscone_package_name();
142 
148 std::string siscone_version();
149 
150 }
151 #endif
Computes the list of stable comes from a particle list.
Definition: protocones.h:82
int compute_jets(std::vector< Cmomentum > &_particles, double _radius, double _f, int _n_pass_max=0, double _ptmin=0.0, Esplit_merge_scale _split_merge_scale=SM_pttilde)
compute the jets from a given particle set.
Definition: siscone.cpp:86
Definition: area.cpp:33
std::vector< std::vector< Cmomentum > > protocones_list
list of protocones found pass-by-pass
Definition: siscone.h:96
int recompute_jets(double _f, double _ptmin=0.0, Esplit_merge_scale _split_merge_scale=SM_pttilde)
recompute the jets with a different overlap parameter.
Definition: siscone.cpp:187
Class used to split and merge jets.
Definition: split_merge.h:175
static std::ostream * banner_stream()
returns a pointer to the stream to be used to print banners (cout by default)
Definition: siscone.h:122
static bool init_done
check random generator initialisation
Definition: siscone.h:99
Csiscone()
default ctor
Definition: siscone.cpp:58
~Csiscone()
default dtor
Definition: siscone.cpp:64
final class: gather everything to compute the jet contents.
Definition: siscone.h:48
static void set_banner_stream(std::ostream *ostr)
A call to this function modifies the stream used to print banners (by default cout).
Definition: siscone.h:116
The SISCone project has been developed by Gavin Salam and Gregory Soyez
Documentation generated for SISCone by  Doxygen 1.8.13