|
||||
File indexing completed on 2025-01-18 09:57:18
0001 //FJSTARTHEADER 0002 // $Id$ 0003 // 0004 // Copyright (c) 2007-2021, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 0005 // 0006 //---------------------------------------------------------------------- 0007 // This file is part of FastJet. 0008 // 0009 // FastJet is free software; you can redistribute it and/or modify 0010 // it under the terms of the GNU General Public License as published by 0011 // the Free Software Foundation; either version 2 of the License, or 0012 // (at your option) any later version. 0013 // 0014 // The algorithms that underlie FastJet have required considerable 0015 // development. They are described in the original FastJet paper, 0016 // hep-ph/0512210 and in the manual, arXiv:1111.6097. If you use 0017 // FastJet as part of work towards a scientific publication, please 0018 // quote the version you use and include a citation to the manual and 0019 // optionally also to hep-ph/0512210. 0020 // 0021 // FastJet is distributed in the hope that it will be useful, 0022 // but WITHOUT ANY WARRANTY; without even the implied warranty of 0023 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0024 // GNU General Public License for more details. 0025 // 0026 // You should have received a copy of the GNU General Public License 0027 // along with FastJet. If not, see <http://www.gnu.org/licenses/>. 0028 //---------------------------------------------------------------------- 0029 //FJENDHEADER 0030 0031 #ifndef __NESTEDALGSPLUGIN_HH__ 0032 #define __NESTEDALGSPLUGIN_HH__ 0033 0034 #include "fastjet/JetDefinition.hh" 0035 #include <list> 0036 #include <memory> 0037 #include <cmath> 0038 0039 // questionable whether this should be in fastjet namespace or not... 0040 FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh 0041 0042 // another forward declaration to reduce includes 0043 class PseudoJet; 0044 0045 //---------------------------------------------------------------------- 0046 // 0047 /// @ingroup plugins 0048 /// \class NestedDefsPlugin 0049 /// Plugin to run multiple jet definitions successively (plugin for fastjet v2.4 upwards) 0050 /// 0051 /// NestedAglsPlugin is a plugin for fastjet (v2.4 upwards) that, given 0052 /// a list of jet definitions, performs the clustering by feeding the 0053 /// particles to the first algorithm and then, successively feeding the 0054 /// output to the next algorithm in the list. 0055 // 0056 class NestedDefsPlugin : public JetDefinition::Plugin { 0057 public: 0058 /// Main constructor for the NestedDefs Plugin class. 0059 /// 0060 /// The argument is an initialised list of jet algorithms 0061 NestedDefsPlugin (std::list<JetDefinition> &defs) : 0062 _defs(defs){} 0063 0064 /// copy constructor 0065 NestedDefsPlugin (const NestedDefsPlugin & plugin) { 0066 *this = plugin; 0067 } 0068 0069 // the things that are required by base class 0070 virtual std::string description () const; 0071 virtual void run_clustering(ClusterSequence &) const; 0072 /// the plugin mechanism's standard way of accessing the jet radius 0073 /// here we return the R of the last alg in the list 0074 virtual double R() const {return _defs.rbegin()->R();} 0075 0076 private: 0077 std::list<JetDefinition> _defs; 0078 }; 0079 0080 FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh 0081 0082 #endif // __SISCONEPLUGIN_HH__ 0083
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |