SISCone  2.0.5
siscone/spherical/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 // WARNING: this is not the main SISCone trunk but                           //
00007 //          an adaptation to spherical coordinates                           //
00008 // For more details, see http://projects.hepforge.org/siscone                //
00009 //                                                                           //
00010 // Copyright (c) 2006-2008 Gavin Salam and Gregory Soyez                          //
00011 //                                                                           //
00012 // This program is free software; you can redistribute it and/or modify      //
00013 // it under the terms of the GNU General Public License as published by      //
00014 // the Free Software Foundation; either version 2 of the License, or         //
00015 // (at your option) any later version.                                       //
00016 //                                                                           //
00017 // This program is distributed in the hope that it will be useful,           //
00018 // but WITHOUT ANY WARRANTY; without even the implied warranty of            //
00019 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             //
00020 // GNU General Public License for more details.                              //
00021 //                                                                           //
00022 // You should have received a copy of the GNU General Public License         //
00023 // along with this program; if not, write to the Free Software               //
00024 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
00025 //                                                                           //
00026 // $Revision:: 325                                                          $//
00027 // $Date:: 2011-11-25 12:41:17 +0100 (Fri, 25 Nov 2011)                     $//
00029 
00030 #ifndef __SPH_SISCONE_H__
00031 #define __SPH_SISCONE_H__
00032 
00033 #include "protocones.h"
00034 #include "split_merge.h"
00035 
00036 namespace siscone_spherical{
00037 
00050 class CSphsiscone : public CSphstable_cones, public CSphsplit_merge{
00051  public:
00053   CSphsiscone();
00054 
00056   ~CSphsiscone();
00057 
00076   int compute_jets(std::vector<CSphmomentum> &_particles, double _radius, double _f, 
00077                    int _n_pass_max=0, double _Emin=0.0,
00078                    Esplit_merge_scale _split_merge_scale=SM_Etilde);
00079 
00092   int recompute_jets(double _f, double _Emin = 0.0,
00093                      Esplit_merge_scale _split_merge_scale=SM_Etilde);
00094 
00096   std::vector<std::vector<CSphmomentum> > 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