1 /////////////////////////////////////////////////////////////////////////////// 2 // File: options.h // 3 // Description: management of the cmdline options of the main program // 4 // This file is part of the SISCone project. // 5 // For more details, see http://projects.hepforge.org/siscone // 6 // // 7 // Copyright (c) 2006 Gavin Salam and Gregory Soyez // 8 // // 9 // This program is free software; you can redistribute it and/or modify // 10 // it under the terms of the GNU General Public License as published by // 11 // the Free Software Foundation; either version 2 of the License, or // 12 // (at your option) any later version. // 13 // // 14 // This program is distributed in the hope that it will be useful, // 15 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 17 // GNU General Public License for more details. // 18 // // 19 // You should have received a copy of the GNU General Public License // 20 // along with this program; if not, write to the Free Software // 21 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA // 22 // // 23 // $Revision:: 180 $// 24 // $Date:: 2007-10-03 19:21:19 +0200 (Wed, 03 Oct 2007) $// 25 /////////////////////////////////////////////////////////////////////////////// 26 27 #ifndef __OPTIONS_H__ 28 #define __OPTIONS_H__ 29 30 #include "siscone/siscone.h" 31 32 /** 33 * \class Coptions 34 35 * options for the 'cone' sample 36 */ 37 class Coptions{ 38 public: 39 /// default ctor 40 Coptions(); 41 42 /// default dtor 43 ~Coptions(); 44 45 /// parse oprions 46 /// \param argc number of arguments from the command line 47 /// \param argv arguments from the command line 48 /// \return 1 on error, 0 on success 49 int parse_options(int argc, char **argv); 50 51 /// print the help message 52 int print_help(); 53 54 /// print program version 55 int print_version(); 56 57 // flags 58 int help_flag; ///< do we need to print the help message 59 int version_flag; ///< do we need to print the version description 60 int verbose_flag; ///< do we need to print the help message 61 62 // options 63 int N_stop; ///< maximum number of particle 64 double R; ///< cone radius 65 double f; ///< split/merge threshold 66 double ptmin; ///< minimal pT for jet candidates 67 char *ev_name; ///< event to read 68 int npass; ///< number of passes (0 for \infty) 69 70 /// variable for split-merge 71 siscone::Esplit_merge_scale SM_var; 72 }; 73 74 #endif 75