The Gaudi Framework  master (37c0b60a)
SelectStatement Class Reference

Class of a selection statement. More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/SelectStatement.h>

Inheritance diagram for SelectStatement:
Collaboration diagram for SelectStatement:

Public Member Functions

 SelectStatement (const std::string &s, long typ)
 Standard Constructor initializing select string. More...
 
 SelectStatement (const std::string &s)
 Standard Constructor initializing select string. More...
 
 SelectStatement ()
 Standard Constructor initializing function call. More...
 
virtual ~SelectStatement ()
 Standard Destructor. More...
 
long type () const override
 Access the type of the object. More...
 
const std::stringcriteria () const override
 Access the selection string. More...
 
void setCriteria (const std::string &crit) override
 Set the type. More...
 
void setActive (bool flag=true) override
 Change activity flag. More...
 
bool isActive () const override
 Check if selection is active. More...
 
virtual bool operator() (void *) override
 Stupid default implementation. More...
 
- Public Member Functions inherited from implements< ISelectStatement >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::stringgetInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 implements ()=default
 Default constructor. More...
 
 implements (const implements &)
 Copy constructor (zero the reference count) More...
 
implementsoperator= (const implements &)
 Assignment operator (do not touch the reference count). More...
 
unsigned long addRef () override
 Reference Interface instance
More...
 
unsigned long release () override
 Release Interface instance
More...
 
unsigned long refCount () const override
 Current reference count
More...
 

Protected Attributes

std::string m_select
 Select string. More...
 
bool m_isActive
 Activation flag. More...
 
long m_type
 Type identifier. More...
 
- Protected Attributes inherited from implements< ISelectStatement >
std::atomic_ulong m_refCount
 Reference counter
More...
 

Additional Inherited Members

- Public Types inherited from implements< ISelectStatement >
using base_class = implements< Interfaces... >
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces... >
 Typedef to the base of this class. More...
 
using iids = typename extend_interfaces_base::ext_iids
 
- Public Types inherited from extend_interfaces< Interfaces... >
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type
 take union of the ext_iids of all Interfaces... More...
 

Detailed Description

Class of a selection statement.

A select statement can either contain

  • a string e.g. for refining an SQL statement
  • a function object, which will be called back in order to refine a selection. This happens in calling sequences like the following:

bool MySelect::operator()(IValueLocator* l) { float px, py, pz; if ( l->get("PX",px) && l->get("PY",py) && l->get("PZ",pz) ) { float mom = sqrt(px*px+py*py+pz*pz); return mom > 100.0 * GeV; } return false; }

if "true" is returned, the object will be loaded completely.

History: +------—+-------------------------------------------—+-----—+ | Date | Comment | Who | +------—+-------------------------------------------—+-----—+ | 21/10/99| Initial version. | MF | +------—+-------------------------------------------—+-----—+ Author: M.Frank Version: 1.0

Definition at line 54 of file SelectStatement.h.

Constructor & Destructor Documentation

◆ SelectStatement() [1/3]

SelectStatement::SelectStatement ( const std::string s,
long  typ 
)
inlineexplicit

Standard Constructor initializing select string.

Definition at line 57 of file SelectStatement.h.

57 : m_select( s ), m_isActive( false ), m_type( typ ) {}

◆ SelectStatement() [2/3]

SelectStatement::SelectStatement ( const std::string s)
inlineexplicit

Standard Constructor initializing select string.

Definition at line 59 of file SelectStatement.h.

59 : m_select( s ), m_isActive( false ), m_type( STRING ) {}

◆ SelectStatement() [3/3]

SelectStatement::SelectStatement ( )
inlineexplicit

Standard Constructor initializing function call.

Definition at line 61 of file SelectStatement.h.

61 : m_isActive( false ), m_type( FUNCTION ) {}

◆ ~SelectStatement()

virtual SelectStatement::~SelectStatement ( )
inlinevirtual

Standard Destructor.

Definition at line 63 of file SelectStatement.h.

63 {}

Member Function Documentation

◆ criteria()

const std::string& SelectStatement::criteria ( ) const
inlineoverride

Access the selection string.

Definition at line 67 of file SelectStatement.h.

67 { return m_select; }

◆ isActive()

bool SelectStatement::isActive ( ) const
inlineoverride

Check if selection is active.

Definition at line 76 of file SelectStatement.h.

76 { return m_isActive; }

◆ operator()()

virtual bool SelectStatement::operator() ( void *  )
inlineoverridevirtual

Stupid default implementation.

Reimplemented in NTuple::Selector.

Definition at line 78 of file SelectStatement.h.

78 { return true; }

◆ setActive()

void SelectStatement::setActive ( bool  flag = true)
inlineoverride

Change activity flag.

Definition at line 74 of file SelectStatement.h.

74 { m_isActive = flag; }

◆ setCriteria()

void SelectStatement::setCriteria ( const std::string crit)
inlineoverride

Set the type.

Definition at line 69 of file SelectStatement.h.

69  {
70  m_select = crit;
71  ( m_select.length() > 0 ) ? m_type |= STRING : m_type &= ~STRING;
72  }

◆ type()

long SelectStatement::type ( ) const
inlineoverride

Access the type of the object.

Definition at line 65 of file SelectStatement.h.

65 { return m_type; }

Member Data Documentation

◆ m_isActive

bool SelectStatement::m_isActive
protected

Activation flag.

Definition at line 84 of file SelectStatement.h.

◆ m_select

std::string SelectStatement::m_select
protected

Select string.

Definition at line 82 of file SelectStatement.h.

◆ m_type

long SelectStatement::m_type
protected

Type identifier.

Definition at line 86 of file SelectStatement.h.


The documentation for this class was generated from the following file:
SelectStatement::m_select
std::string m_select
Select string.
Definition: SelectStatement.h:82
gaudirun.s
string s
Definition: gaudirun.py:346
std::string::length
T length(T... args)
SelectStatement::m_isActive
bool m_isActive
Activation flag.
Definition: SelectStatement.h:84
SelectStatement::m_type
long m_type
Type identifier.
Definition: SelectStatement.h:86