SISCone  2.0.5
siscone/siscone.h
00001 // -*- C++ -*-
00003 // File: siscone.h                                                           //
00004 // Description: header file for the main SISCone class                       //
00005 // This file is part of the SISCone project.                                 //
00006 // For more details, see http://projects.hepforge.org/siscone                //
00007 //                                                                           //
00008 // Copyright (c) 2006 Gavin Salam and Gregory Soyez                          //
00009 //                                                                           //
00010 // This program is free software; you can redistribute it and/or modify      //
00011 // it under the terms of the GNU General Public License as published by      //
00012 // the Free Software Foundation; either version 2 of the License, or         //
00013 // (at your option) any later version.                                       //
00014 //                                                                           //
00015 // This program is distributed in the hope that it will be useful,           //
00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of            //
00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             //
00018 // GNU General Public License for more details.                              //
00019 //                                                                           //
00020 // You should have received a copy of the GNU General Public License         //
00021 // along with this program; if not, write to the Free Software               //
00022 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
00023 //                                                                           //
00024 // $Revision:: 325                                                          $//
00025 // $Date:: 2011-11-25 12:41:17 +0100 (Fri, 25 Nov 2011)                     $//
00027 
00028 #ifndef __SISCONE_H__
00029 #define __SISCONE_H__
00030 
00031 #include "protocones.h"
00032 #include "split_merge.h"
00033 
00034 namespace siscone{
00035 
00048 class Csiscone : public Cstable_cones, public Csplit_merge{
00049  public:
00051   Csiscone();
00052 
00054   ~Csiscone();
00055 
00076   int compute_jets(std::vector<Cmomentum> &_particles, double _radius, double _f, 
00077                    int _n_pass_max=0, double _ptmin=0.0,
00078                    Esplit_merge_scale _split_merge_scale=SM_pttilde);
00079 
00092   int recompute_jets(double _f, double _ptmin = 0.0,
00093                      Esplit_merge_scale _split_merge_scale=SM_pttilde);
00094 
00096   std::vector<std::vector<Cmomentum> > protocones_list;
00097 
00098   // random number initialisation
00099   static bool init_done;      
00100 
00101 #ifdef DEBUG_STABLE_CONES
00102   int nb_hash_cones_total, nb_hash_occupied_total;
00103 #endif
00104 
00116   static void set_banner_stream(std::ostream * ostr) {_banner_ostr = ostr;}
00117 
00122   static std::ostream * banner_stream() {return _banner_ostr;}
00123 
00124  private:
00125   bool rerun_allowed;         
00126   static std::ostream * _banner_ostr; 
00127 };
00128 
00129   
00130 // finally, a bunch of functions to access to 
00131 // basic information (package name, version)
00132 //---------------------------------------------
00133 
00141 std::string siscone_package_name();
00142 
00148 std::string siscone_version();
00149 
00150 }
00151 #endif
The SISCone project has been developed by Gavin Salam and Gregory Soyez
Documentation generated on Mon Jun 4 2012 18:23:38 for SISCone by  Doxygen 1.7.6.1