30 #ifndef __FASTJET_CLUSTER_SEQUENCE_STRUCTURE_HH__
31 #define __FASTJET_CLUSTER_SEQUENCE_STRUCTURE_HH__
33 #include "fastjet/internal/base.hh"
34 #include "fastjet/SharedPtr.hh"
35 #include "fastjet/PseudoJetStructureBase.hh"
39 FASTJET_BEGIN_NAMESPACE
69 set_associated_cs(cs);
76 virtual std::string
description()
const{
return "PseudoJet with an associated ClusterSequence"; }
92 virtual bool has_valid_cluster_sequence()
const;
106 _associated_cs = new_cs;
157 virtual bool has_constituents()
const;
163 virtual std::vector<PseudoJet> constituents(
const PseudoJet &reference)
const;
170 virtual bool has_exclusive_subjets()
const;
183 virtual std::vector<PseudoJet> exclusive_subjets(
const PseudoJet &reference,
const double & dcut)
const;
191 virtual int n_exclusive_subjets(
const PseudoJet &reference,
const double & dcut)
const;
201 virtual std::vector<PseudoJet> exclusive_subjets_up_to (
const PseudoJet &reference,
int nsub)
const;
208 virtual double exclusive_subdmerge(
const PseudoJet &reference,
int nsub)
const;
216 virtual double exclusive_subdmerge_max(
const PseudoJet &reference,
int nsub)
const;
224 virtual bool has_pieces(
const PseudoJet &reference)
const;
235 virtual std::vector<PseudoJet> pieces(
const PseudoJet &reference)
const;
244 virtual bool has_area()
const;
248 virtual double area(
const PseudoJet &reference)
const;
253 virtual double area_error(
const PseudoJet &reference)
const;
261 virtual bool is_pure_ghost(
const PseudoJet &reference)
const;
270 FASTJET_END_NAMESPACE
272 #endif // __FASTJET_CLUSTER_SEQUENCE_STRUCTURE_HH__