32#ifndef __FASTJET_CLUSTER_SEQUENCE_STRUCTURE_HH__
33#define __FASTJET_CLUSTER_SEQUENCE_STRUCTURE_HH__
35#include "fastjet/internal/base.hh"
36#include "fastjet/SharedPtr.hh"
37#include "fastjet/PseudoJetStructureBase.hh"
41FASTJET_BEGIN_NAMESPACE
71 set_associated_cs(cs);
79 return "PseudoJet with an associated ClusterSequence";
93 virtual const ClusterSequence* associated_cluster_sequence() const FASTJET_OVERRIDE;
96 virtual
bool has_valid_cluster_sequence() const FASTJET_OVERRIDE;
110 _associated_cs = new_cs;
129 virtual bool has_partner(
const PseudoJet &reference,
PseudoJet &partner)
const FASTJET_OVERRIDE;
137 virtual bool has_child(
const PseudoJet &reference,
PseudoJet &child)
const FASTJET_OVERRIDE;
155 virtual bool object_in_jet(
const PseudoJet &reference,
const PseudoJet &jet)
const FASTJET_OVERRIDE;
161 virtual bool has_constituents() const FASTJET_OVERRIDE;
167 virtual std::vector<
PseudoJet> constituents(const
PseudoJet &reference) const FASTJET_OVERRIDE;
174 virtual
bool has_exclusive_subjets() const FASTJET_OVERRIDE;
187 virtual std::vector<
PseudoJet> exclusive_subjets(const
PseudoJet &reference, const
double & dcut) const FASTJET_OVERRIDE;
195 virtual
int n_exclusive_subjets(const
PseudoJet &reference, const
double & dcut) const FASTJET_OVERRIDE;
205 virtual std::vector<
PseudoJet> exclusive_subjets_up_to (const
PseudoJet &reference,
int nsub) const FASTJET_OVERRIDE;
212 virtual
double exclusive_subdmerge(const
PseudoJet &reference,
int nsub) const FASTJET_OVERRIDE;
220 virtual
double exclusive_subdmerge_max(const
PseudoJet &reference,
int nsub) const FASTJET_OVERRIDE;
228 virtual
bool has_pieces(const
PseudoJet &reference) const FASTJET_OVERRIDE;
239 virtual std::vector<
PseudoJet> pieces(const
PseudoJet &reference) const FASTJET_OVERRIDE;
248 virtual bool has_area() const FASTJET_OVERRIDE;
252 virtual
double area(const
PseudoJet &reference) const FASTJET_OVERRIDE;
257 virtual
double area_error(const
PseudoJet &reference) const FASTJET_OVERRIDE;
265 virtual
bool is_pure_ghost(const
PseudoJet &reference) const FASTJET_OVERRIDE;
base class that sets interface for extensions of ClusterSequence that provide information about the a...
Contains any information related to the clustering that should be directly accessible to PseudoJet.
virtual std::string description() const override
description
ClusterSequenceStructure()
default ctor
virtual void set_associated_cs(const ClusterSequence *new_cs)
set the associated csw
ClusterSequenceStructure(const ClusterSequence *cs)
ctor with initialisation to a given ClusterSequence
virtual bool has_associated_cluster_sequence() const override
returns true if there is an associated ClusterSequence
Contains any information related to the clustering that should be directly accessible to PseudoJet.
Class to contain pseudojets, including minimal information of use to jet-clustering routines.