00001
00002
00003 #ifndef jet__IConstituentUserInfo_H
00004 #define jet__IConstituentUserInfo_H
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "fastjet/PseudoJet.hh"
00015 #include "xAODBase/IParticleContainer.h"
00016 #include "xAODJet/JetTypes.h"
00017
00018 namespace jet {
00019
00020 class LabelIndex;
00021
00022 class IConstituentUserInfo : public fastjet::PseudoJet::UserInfoBase {
00023
00024 public:
00025
00026 typedef int Index;
00027 typedef std::string Label;
00028
00029
00030 virtual const SG::AuxElement* element() const =0;
00031 virtual const xAOD::IParticle* particle() const =0;
00032
00033
00034 virtual Label label() const =0;
00035
00036
00037
00038 virtual Index index() const;
00039
00040
00041
00042 virtual const LabelIndex* labelMap() const;
00043
00045 virtual bool isGhost() const ;
00046
00048 virtual xAOD::JetConstitScale constitScale() const ;
00049
00050
00051 };
00052
00053 }
00054
00055 #endif