50 virtual std::ostream&
fillStream( std::ostream& s )
const = 0;
63 virtual std::string
toString()
const;
85 std::ostream&
fillStream( std::ostream& s )
const override;
87 bool valid()
const override;
102 Node& operator=(
const Node& right );
121 inline std::ostream&
operator<<( std::ostream& s,
const iNode& n ) {
return n.fillStream( s ); }
159 return n.validate( svc );
170 return n.validate( svc );
bool operator!(const Gaudi::Time &t)
The generic class to hold the pointer to other node.
bool node(const Gaudi::ParticleID &pid) const
Node & operator&=(const iNode &right)
Node & op_or(const iNode &right)
Node * clone() const override
MANDATORY: clone method ("virtual constructor")
Node & op_and(const iNode &right)
bool valid() const override
MANDATORY: check the validity of the node.
std::unique_ptr< iNode > m_node
the node itself:
Node(const Decays::iNode &node)
constructor from the node
bool operator()(const Gaudi::ParticleID &p) const override
MANDATORY: the only one essential method.
std::ostream & fillStream(std::ostream &s) const override
MANDATORY: the specific printout.
const iNode & node() const
StatusCode validate(const Gaudi::Interfaces::IParticlePropertySvc *svc) const override
MANDATORY: the proper validation of the node.
Node & operator|=(const iNode &right)
The abstract class which represents the single "node" of decay tree.
virtual std::string toString() const
the string representation of the node
virtual bool operator()(const Gaudi::ParticleID &pid) const =0
the basic operation: comparison of the particle PID with the node
virtual StatusCode validate(const Gaudi::Interfaces::IParticlePropertySvc *svc) const =0
validate the decay node
virtual bool valid() const =0
check the validity of the node
virtual std::ostream & fillStream(std::ostream &s) const =0
printout of the stream
virtual ~iNode()=default
virtual destructor
virtual iNode * clone() const =0
clone method ("virtual constructor")
The abstract interface to Particle Property Service.
Holds PDG + LHCb extension particle code, following the PDG particle numbering scheme (pdg....
This class is used for returning status codes from appropriate routines.
std::ostream & operator<<(std::ostream &s, const iNode &n)
printout to the output stream
StatusCode operator+(const Decays::iNode &n, const Gaudi::Interfaces::IParticlePropertySvc *svc)
"on-flight" validation of the node
bool operator==(const Decays::iNode &node, const Gaudi::ParticleID &pid)
equality The node is "equal" to the PID , if the given pid satisfies the node criteria
bool operator!=(const Decays::iNode &node, const Gaudi::ParticleID &pid)
non-equality The node is "equal" to the PID , if the given PID satisfies the node criteria
StatusCode operator*(const Decays::iNode &n, const Gaudi::Interfaces::IParticlePropertySvc *svc)
"on-flight" validation of the node
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...