The Gaudi Framework  master (594c33fa)
Gaudi::Decays Namespace Reference

Namespaces

 CC
 
 Nodes
 

Classes

class  Decay
 
class  iNode
 
class  Node
 
class  NodeList
 
class  Symbols
 

Functions

std::ostreamoperator<< (std::ostream &s, const iNode &n)
 printout to the output stream More...
 
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 More...
 
bool operator== (const Gaudi::ParticleID &pid, const Decays::iNode &node)
 "right" equality The node is "equal" to the PID , if the given pid satisfies the node criteria More...
 
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 More...
 
bool operator!= (const Gaudi::ParticleID &pid, const Decays::iNode &node)
 non-equality The node is "equal" to the PID , if the given PID satisfies the node criteria More...
 
StatusCode operator+ (const Decays::iNode &n, const Gaudi::Interfaces::IParticlePropertySvc *svc)
 "on-flight" validation of the node More...
 
StatusCode operator* (const Decays::iNode &n, const Gaudi::Interfaces::IParticlePropertySvc *svc)
 "on-flight" validation of the node More...
 
template<typename Iterator >
bool valid (Iterator begin, Iterator end)
 check the validness of the trees or nodes More...
 
template<typename Container >
bool valid (Container const &c)
 
template<class Iterator >
StatusCode validate (Iterator begin, Iterator end, const Gaudi::Interfaces::IParticlePropertySvc *svc)
 validate trees/nodes More...
 
template<class TREE >
StatusCode validate (TREE const &tree, const Gaudi::Interfaces::IParticlePropertySvc *svc)
 
Decays::Nodes::Or operator|| (const Decays::iNode &o1, const Decays::iNode &o2)
 Create the "OR" of two nodes. More...
 
Decays::Nodes::Or operator| (const Decays::iNode &o1, const Decays::iNode &o2)
 Create the "OR" of two nodes. More...
 
Decays::Nodes::And operator&& (const Decays::iNode &o1, const Decays::iNode &o2)
 Create the "AND" of two nodes. More...
 
Decays::Nodes::And operator& (const Decays::iNode &o1, const Decays::iNode &o2)
 Create the "AND" of two nodes. More...
 
Decays::Nodes::Not operator~ (const Decays::iNode &o)
 Create the "NOT" for the node. More...
 
GAUDI_API Decays::Nodes::Or operator|| (const Decays::iNode &o1, const std::string &o2)
 Create the "OR" of two nodes. More...
 
GAUDI_API Decays::Nodes::Or operator|| (const Decays::iNode &o1, const Gaudi::ParticleID &o2)
 Create the "OR" of two nodes. More...
 
GAUDI_API Decays::Nodes::Or operator|| (const Decays::iNode &o1, const Decays::Decay::Item &o2)
 Create the "OR" of two nodes. More...
 
GAUDI_API Decays::Nodes::Or operator|| (const Decays::iNode &o1, const Gaudi::ParticleProperty *o2)
 Create the "OR" of two nodes. More...
 
GAUDI_API Decays::Nodes::Or operator|| (const std::string &o2, const Decays::iNode &o1)
 Create the "OR" of two nodes. More...
 
GAUDI_API Decays::Nodes::Or operator|| (const Gaudi::ParticleID &o2, const Decays::iNode &o1)
 Create the "OR" of two nodes. More...
 
GAUDI_API Decays::Nodes::Or operator|| (const Decays::Decay::Item &o2, const Decays::iNode &o1)
 Create the "OR" of two nodes. More...
 
GAUDI_API Decays::Nodes::Or operator|| (const Gaudi::ParticleProperty *o2, const Decays::iNode &o1)
 Create the "OR" of two nodes. More...
 
GAUDI_API Decays::Nodes::And operator&& (const Decays::iNode &o1, const std::string &o2)
 Create the "AND" of two nodes. More...
 
GAUDI_API Decays::Nodes::And operator&& (const Decays::iNode &o1, const Gaudi::ParticleID &o2)
 Create the "AND" of two nodes. More...
 
GAUDI_API Decays::Nodes::And operator&& (const Decays::iNode &o1, const Decays::Decay::Item &o2)
 Create the "AND" of two nodes. More...
 
GAUDI_API Decays::Nodes::And operator&& (const Decays::iNode &o1, const Gaudi::ParticleProperty *o2)
 Create the "AND" of two nodes. More...
 
GAUDI_API Decays::Nodes::And operator&& (const std::string &o2, const Decays::iNode &o1)
 Create the "AND" of two nodes. More...
 
GAUDI_API Decays::Nodes::And operator&& (const Gaudi::ParticleID &o2, const Decays::iNode &o1)
 Create the "AND" of two nodes. More...
 
GAUDI_API Decays::Nodes::And operator&& (const Decays::Decay::Item &o2, const Decays::iNode &o1)
 Create the "AND" of two nodes. More...
 
GAUDI_API Decays::Nodes::And operator&& (const Gaudi::ParticleProperty *o2, const Decays::iNode &o1)
 Create the "AND" of two nodes. More...
 

Function Documentation

◆ operator!=() [1/2]

bool Gaudi::Decays::operator!= ( const Decays::iNode node,
const Gaudi::ParticleID pid 
)
inline

non-equality The node is "equal" to the PID , if the given PID satisfies the node criteria

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 142 of file iNode.h.

142 { return !( node == pid ); }

◆ operator!=() [2/2]

bool Gaudi::Decays::operator!= ( const Gaudi::ParticleID pid,
const Decays::iNode node 
)
inline

non-equality The node is "equal" to the PID , if the given PID satisfies the node criteria

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 149 of file iNode.h.

149 { return node != pid; }

◆ operator&()

Decays::Nodes::And Gaudi::Decays::operator& ( const Decays::iNode o1,
const Decays::iNode o2 
)
inline

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 371 of file Nodes.h.

371  {
372  return Decays::Nodes::And( o1, o2 );
373  }

◆ operator&&() [1/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const Decays::Decay::Item o2,
const Decays::iNode o1 
)

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 110 of file NodePIDs.cpp.

110  {
111  return Decays::Nodes::Pid( o2 ) && o1;
112  }

◆ operator&&() [2/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const Decays::iNode o1,
const Decays::Decay::Item o2 
)

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 98 of file NodePIDs.cpp.

98  {
99  return o1 && Decays::Nodes::Pid( o2 );
100  }

◆ operator&&() [3/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const Decays::iNode o1,
const Decays::iNode o2 
)
inline

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 363 of file Nodes.h.

363  {
364  return Decays::Nodes::And( o1, o2 );
365  }

◆ operator&&() [4/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const Decays::iNode o1,
const Gaudi::ParticleID o2 
)

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 95 of file NodePIDs.cpp.

95  {
96  return o1 && Decays::Nodes::Pid( o2 );
97  }

◆ operator&&() [5/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const Decays::iNode o1,
const Gaudi::ParticleProperty o2 
)

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 101 of file NodePIDs.cpp.

101  {
102  return o1 && Decays::Nodes::Pid( o2 );
103  }

◆ operator&&() [6/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const Decays::iNode o1,
const std::string o2 
)

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 92 of file NodePIDs.cpp.

92  {
93  return o1 && Decays::Nodes::Pid( o2 );
94  }

◆ operator&&() [7/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const Gaudi::ParticleID o2,
const Decays::iNode o1 
)

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 107 of file NodePIDs.cpp.

107  {
108  return Decays::Nodes::Pid( o2 ) && o1;
109  }

◆ operator&&() [8/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const Gaudi::ParticleProperty o2,
const Decays::iNode o1 
)

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 113 of file NodePIDs.cpp.

113  {
114  return Decays::Nodes::Pid( o2 ) && o1;
115  }

◆ operator&&() [9/9]

Decays::Nodes::And Gaudi::Decays::operator&& ( const std::string o2,
const Decays::iNode o1 
)

Create the "AND" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 104 of file NodePIDs.cpp.

104  {
105  return Decays::Nodes::Pid( o2 ) && o1;
106  }

◆ operator*()

StatusCode Gaudi::Decays::operator* ( const Decays::iNode n,
const Gaudi::Interfaces::IParticlePropertySvc svc 
)
inline

"on-flight" validation of the node

Parameters
nthe node
svcparticle property service
Returns
status code
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 169 of file iNode.h.

169  {
170  return n.validate( svc );
171  }

◆ operator+()

StatusCode Gaudi::Decays::operator+ ( const Decays::iNode n,
const Gaudi::Interfaces::IParticlePropertySvc svc 
)
inline

"on-flight" validation of the node

Parameters
nthe node
svcparticle property service
Returns
status code
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 158 of file iNode.h.

158  {
159  return n.validate( svc );
160  }

◆ operator<<()

std::ostream& Gaudi::Decays::operator<< ( std::ostream s,
const iNode n 
)
inline

printout to the output stream

Parameters
sthe output stream
nthe node
Returns
the output stream (Reference)
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 121 of file iNode.h.

121 { return n.fillStream( s ); }

◆ operator==() [1/2]

bool Gaudi::Decays::operator== ( const Decays::iNode node,
const Gaudi::ParticleID pid 
)
inline

equality The node is "equal" to the PID , if the given pid satisfies the node criteria

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 128 of file iNode.h.

128 { return node( pid ); }

◆ operator==() [2/2]

bool Gaudi::Decays::operator== ( const Gaudi::ParticleID pid,
const Decays::iNode node 
)
inline

"right" equality The node is "equal" to the PID , if the given pid satisfies the node criteria

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 135 of file iNode.h.

135 { return node == pid; }

◆ operator|()

Decays::Nodes::Or Gaudi::Decays::operator| ( const Decays::iNode o1,
const Decays::iNode o2 
)
inline

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 355 of file Nodes.h.

355  {
356  return Decays::Nodes::Or( o1, o2 );
357  }

◆ operator||() [1/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const Decays::Decay::Item o2,
const Decays::iNode o1 
)

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 82 of file NodePIDs.cpp.

82  {
83  return Decays::Nodes::Pid( o2 ) || o1;
84  }

◆ operator||() [2/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const Decays::iNode o1,
const Decays::Decay::Item o2 
)

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 70 of file NodePIDs.cpp.

70  {
71  return o1 || Decays::Nodes::Pid( o2 );
72  }

◆ operator||() [3/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const Decays::iNode o1,
const Decays::iNode o2 
)
inline

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 347 of file Nodes.h.

347  {
348  return Decays::Nodes::Or( o1, o2 );
349  }

◆ operator||() [4/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const Decays::iNode o1,
const Gaudi::ParticleID o2 
)

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 67 of file NodePIDs.cpp.

67  {
68  return o1 || Decays::Nodes::Pid( o2 );
69  }

◆ operator||() [5/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const Decays::iNode o1,
const Gaudi::ParticleProperty o2 
)

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 73 of file NodePIDs.cpp.

73  {
74  return o1 || Decays::Nodes::Pid( o2 );
75  }

◆ operator||() [6/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const Decays::iNode o1,
const std::string o2 
)

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 64 of file NodePIDs.cpp.

64  {
65  return o1 || Decays::Nodes::Pid( o2 );
66  }

◆ operator||() [7/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const Gaudi::ParticleID o2,
const Decays::iNode o1 
)

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 79 of file NodePIDs.cpp.

79  {
80  return Decays::Nodes::Pid( o2 ) || o1;
81  }

◆ operator||() [8/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const Gaudi::ParticleProperty o2,
const Decays::iNode o1 
)

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 85 of file NodePIDs.cpp.

85  {
86  return Decays::Nodes::Pid( o2 ) || o1;
87  }

◆ operator||() [9/9]

Decays::Nodes::Or Gaudi::Decays::operator|| ( const std::string o2,
const Decays::iNode o1 
)

Create the "OR" of two nodes.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 76 of file NodePIDs.cpp.

76  {
77  return Decays::Nodes::Pid( o2 ) || o1;
78  }

◆ operator~()

Decays::Nodes::Not Gaudi::Decays::operator~ ( const Decays::iNode o)
inline

Create the "NOT" for the node.

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-12

Definition at line 379 of file Nodes.h.

379 { return Decays::Nodes::Not( o ); }

◆ valid() [1/2]

template<typename Container >
bool Gaudi::Decays::valid ( Container const &  c)

Definition at line 40 of file Nodes.h.

40  {
41  return valid( c.begin(), c.end() );
42  }

◆ valid() [2/2]

template<typename Iterator >
bool Gaudi::Decays::valid ( Iterator  begin,
Iterator  end 
)

check the validness of the trees or nodes

Parameters
beginbegin-iterator for the sequence of trees/nodes
endend-iterator for the sequence of trees/nodes
Returns
true of no invalid trees are found
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 36 of file Nodes.h.

36  {
37  return std::all_of( begin, end, []( const auto& i ) { return i.valid(); } );
38  }

◆ validate() [1/2]

template<class Iterator >
StatusCode Gaudi::Decays::validate ( Iterator  begin,
Iterator  end,
const Gaudi::Interfaces::IParticlePropertySvc svc 
)

validate trees/nodes

Parameters
beginbegin-iterator for the sequence of trees/nodes
endend-iterator for the sequence of trees/nodes
svcthe Particle Property Service for validation
Returns
statuis code
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-04-21

Definition at line 53 of file Nodes.h.

53  {
54  for ( ; begin != end; ++begin ) {
55  StatusCode sc = begin->validate( svc );
56  if ( sc.isFailure() ) { return sc; }
57  }
58  return StatusCode::SUCCESS;
59  }

◆ validate() [2/2]

template<class TREE >
StatusCode Gaudi::Decays::validate ( TREE const &  tree,
const Gaudi::Interfaces::IParticlePropertySvc svc 
)

Definition at line 61 of file Nodes.h.

61  {
62  return validate( tree.begin(), tree.end(), svc );
63  }
gaudirun.s
string s
Definition: gaudirun.py:346
gaudirun.c
c
Definition: gaudirun.py:525
std::all_of
T all_of(T... args)
StatusCode
Definition: StatusCode.h:65
Gaudi::Decays::valid
bool valid(Container const &c)
Definition: Nodes.h:40
CLHEP::begin
double * begin(CLHEP::HepVector &v)
Definition: TupleAlg.cpp:45
GaudiPartProp.Nodes.Pid
Pid
Definition: Nodes.py:250
GaudiPartProp.Nodes.Or
Or
Definition: Nodes.py:269
GaudiPluginService.cpluginsvc.n
n
Definition: cpluginsvc.py:234
StatusCode::isFailure
bool isFailure() const
Definition: StatusCode.h:129
GaudiPartProp.Nodes.Not
Not
Definition: Nodes.py:271
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
Gaudi::Decays::validate
StatusCode validate(TREE const &tree, const Gaudi::Interfaces::IParticlePropertySvc *svc)
Definition: Nodes.h:61
GaudiPartProp.Nodes.And
And
Definition: Nodes.py:270
IOTest.end
end
Definition: IOTest.py:125