The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
Gaudi::Decays::Nodes::StableCharged Class Reference

represent simple predicate for Stable+Charged particles More...

#include </builds/gaudi/Gaudi/GaudiPartProp/include/Gaudi/Decays/NodesPIDs.h>

Inheritance diagram for Gaudi::Decays::Nodes::StableCharged:
Collaboration diagram for Gaudi::Decays::Nodes::StableCharged:

Public Member Functions

 StableCharged (const Gaudi::Interfaces::IParticlePropertySvc *svc=0)
 constructor service
StableCharged * clone () const override
 MANDATORY: clone method ("virtual constructor").
bool operator() (const Gaudi::ParticleID &pid) const override
 MANDATORY: the only one essential method.
std::ostream & fillStream (std::ostream &s) const override
 MANDATORY: the specific printout.
Public Member Functions inherited from Gaudi::Decays::Nodes::Stable
 Stable (const Gaudi::Interfaces::IParticlePropertySvc *svc=0)
 constructor service
Public Member Functions inherited from Gaudi::Decays::Nodes::LongLived_
 LongLived_ (const double high, const Gaudi::Interfaces::IParticlePropertySvc *svc=0)
 constructor with high edge and service
 LongLived_ (const Gaudi::Interfaces::IParticlePropertySvc *svc=0)
 constructor service
Public Member Functions inherited from Gaudi::Decays::Nodes::CTau
 CTau (const double low, const double high, const Gaudi::Interfaces::IParticlePropertySvc *svc=nullptr)
 constructor from c-tau range
bool valid () const override
 MANDATORY: check the validity.
StatusCode validate (const Gaudi::Interfaces::IParticlePropertySvc *svc) const override
 MANDATORY: the proper validation of the node.
const Gaudi::Interfaces::IParticlePropertySvc * ppSvc () const
double low () const
 get low edge
double high () const
 get high edge
StatusCode setService (const Gaudi::Interfaces::IParticlePropertySvc *svc) const
MsgStream & printAcceptedAsTable (MsgStream &s) const
Public Member Functions inherited from Gaudi::Decays::iNode
virtual bool operator! () const
 invalid node?
virtual std::string toString () const
 the string representation of the node
virtual ~iNode ()=default
 virtual destructor

Additional Inherited Members

Protected Member Functions inherited from Gaudi::Decays::Nodes::CTau
template<typename F, typename = std::is_invocable_r<bool, F, Gaudi::ParticleID>>
bool classify (Gaudi::ParticleID pid, F &&f) const

Detailed Description

represent simple predicate for Stable+Charged particles

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-05-11

Definition at line 538 of file NodesPIDs.h.

Constructor & Destructor Documentation

◆ StableCharged()

Gaudi::Decays::Nodes::StableCharged::StableCharged ( const Gaudi::Interfaces::IParticlePropertySvc * svc = 0)

constructor service

Definition at line 392 of file NodePIDs.cpp.

393 : Decays::Nodes::Stable( svc ) {}

Member Function Documentation

◆ clone()

Decays::Nodes::StableCharged * Gaudi::Decays::Nodes::StableCharged::clone ( ) const
overridevirtual

MANDATORY: clone method ("virtual constructor").

Reimplemented from Gaudi::Decays::Nodes::Stable.

Definition at line 395 of file NodePIDs.cpp.

395 {
396 return new Decays::Nodes::StableCharged( *this );
397}

◆ fillStream()

std::ostream & Gaudi::Decays::Nodes::StableCharged::fillStream ( std::ostream & s) const
overridevirtual

MANDATORY: the specific printout.

Reimplemented from Gaudi::Decays::Nodes::Stable.

Definition at line 399 of file NodePIDs.cpp.

399{ return s << " StableCharged "; }

◆ operator()()

bool Gaudi::Decays::Nodes::StableCharged::operator() ( const Gaudi::ParticleID & pid) const
overridevirtual

MANDATORY: the only one essential method.

Reimplemented from Gaudi::Decays::Nodes::CTau.

Definition at line 401 of file NodePIDs.cpp.

401 {
402 return classify( pid, [&]( Gaudi::ParticleID id ) {
403 // invalid node
404 if ( !ppSvc() ) { return false; } // REJECT for invalid service
405 // use the service
406 const Gaudi::ParticleProperty* pp = ppSvc()->find( id );
407 if ( !pp ) { return false; } // REJECT for invalid dparticle
408 // final decision: check ctau range
409 return low() <= pp->ctau() && 0 != id.threeCharge();
410 } );
411}
double low() const
get low edge
Definition NodesPIDs.h:425
const Gaudi::Interfaces::IParticlePropertySvc * ppSvc() const
Definition NodesPIDs.h:422
bool classify(Gaudi::ParticleID pid, F &&f) const
Definition NodesPIDs.h:433
virtual const ParticleProperty * find(const std::string &name) const =0
Retrieve an object by name:

The documentation for this class was generated from the following files: