00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef __FASTJET_CLUSTERSEQUENCE1GHOSTPASSIVEAREA_HH__
00032 #define __FASTJET_CLUSTERSEQUENCE1GHOSTPASSIVEAREA_HH__
00033
00034
00035 #include "fastjet/PseudoJet.hh"
00036 #include "fastjet/ClusterSequenceAreaBase.hh"
00037 #include "fastjet/ClusterSequenceActiveArea.hh"
00038 #include<iostream>
00039 #include<vector>
00040
00041 FASTJET_BEGIN_NAMESPACE
00042
00043 using namespace std;
00044
00049 class ClusterSequence1GhostPassiveArea : public ClusterSequenceActiveArea {
00050 public:
00051
00052 ClusterSequence1GhostPassiveArea() {}
00053
00055 template<class L> ClusterSequence1GhostPassiveArea
00056 (const std::vector<L> & pseudojets,
00057 const JetDefinition & jet_def,
00058 const GhostedAreaSpec & area_spec,
00059 const bool & writeout_combinations = false) ;
00060
00064 virtual double n_empty_jets(const RangeDefinition & range) const {
00065 return ClusterSequenceAreaBase::n_empty_jets(range);
00066 }
00067
00068 protected:
00071 void _initialise_and_run_1GPA (const JetDefinition & jet_def,
00072 const GhostedAreaSpec & area_spec,
00073 const bool & writeout_combinations = false);
00074
00075 private:
00076
00077 void _run_1GPA(const GhostedAreaSpec & area_spec);
00078 };
00079
00080
00081
00082
00083 template<class L> ClusterSequence1GhostPassiveArea::ClusterSequence1GhostPassiveArea
00084 (const std::vector<L> & pseudojets,
00085 const JetDefinition & jet_def,
00086 const GhostedAreaSpec & area_spec,
00087 const bool & writeout_combinations) {
00088
00089
00090 _transfer_input_jets(pseudojets);
00091
00092
00093 _initialise_and_run_1GPA(jet_def, area_spec, writeout_combinations);
00094
00095 }
00096
00097
00098
00099 FASTJET_END_NAMESPACE
00100
00101 #endif // __FASTJET_CLUSTERSEQUENCE1GHOSTPASSIVEAREA_HH__