HepMC event record
Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends
Filter Class Reference

Detailed Description

Class used to define filters for search engine.

Objects of this class cannot be directly created by user. Use predefined static const HepMC::FilterBase objects to construct appropriate filters. See Search engine for more details.

Definition at line 33 of file build/outputs/include/HepMC/Search/Filter.h.

#include <Filter.h>

+ Inheritance diagram for Filter:
+ Collaboration diagram for Filter:

Public Member Functions

bool passed_filter (const GenParticlePtr &p) const
 Check if HepMC::GenParticle passed this filter. More...
 
Filter operator! () const
 Logical NOT operator for boolean filters. More...
 
bool passed_filter (const GenParticlePtr &p) const
 Check if HepMC::GenParticle passed this filter. More...
 
Filter operator! () const
 Logical NOT operator for boolean filters. More...
 

Protected Types

enum  FilterParamType {
  INTEGER_PARAM, BOOL_PARAM, ATTRIBUTE_PARAM, INTEGER_PARAM,
  BOOL_PARAM, ATTRIBUTE_PARAM
}
 List of filter parameter types. More...
 
enum  FilterParamType {
  INTEGER_PARAM, BOOL_PARAM, ATTRIBUTE_PARAM, INTEGER_PARAM,
  BOOL_PARAM, ATTRIBUTE_PARAM
}
 List of filter parameter types. More...
 
enum  FilterIntegerParam {
  STATUS, PDG_ID, ABS_PDG_ID, STATUS,
  PDG_ID, ABS_PDG_ID
}
 List of filters with integer parameter. More...
 
enum  FilterIntegerParam {
  STATUS, PDG_ID, ABS_PDG_ID, STATUS,
  PDG_ID, ABS_PDG_ID
}
 List of filters with integer parameter. More...
 
enum  FilterBoolParam {
  HAS_END_VERTEX, HAS_PRODUCTION_VERTEX, HAS_SAME_PDG_ID_DAUGHTER, IS_STABLE,
  IS_BEAM, HAS_END_VERTEX, HAS_PRODUCTION_VERTEX, HAS_SAME_PDG_ID_DAUGHTER,
  IS_STABLE, IS_BEAM
}
 List of filters with boolean parameter. More...
 
enum  FilterBoolParam {
  HAS_END_VERTEX, HAS_PRODUCTION_VERTEX, HAS_SAME_PDG_ID_DAUGHTER, IS_STABLE,
  IS_BEAM, HAS_END_VERTEX, HAS_PRODUCTION_VERTEX, HAS_SAME_PDG_ID_DAUGHTER,
  IS_STABLE, IS_BEAM
}
 List of filters with boolean parameter. More...
 
enum  FilterAttributeParam { ATTRIBUTE_EXISTS, ATTRIBUTE_IS_EQUAL, ATTRIBUTE_EXISTS, ATTRIBUTE_IS_EQUAL }
 List of filters with attribute parameter. More...
 
enum  FilterAttributeParam { ATTRIBUTE_EXISTS, ATTRIBUTE_IS_EQUAL, ATTRIBUTE_EXISTS, ATTRIBUTE_IS_EQUAL }
 List of filters with attribute parameter. More...
 
enum  FilterOperator {
  EQUAL, GREATER, GREATER_OR_EQUAL, LESS,
  LESS_OR_EQUAL, NOT_EQUAL, EQUAL, GREATER,
  GREATER_OR_EQUAL, LESS, LESS_OR_EQUAL, NOT_EQUAL
}
 List of operators on filter values. More...
 
enum  FilterOperator {
  EQUAL, GREATER, GREATER_OR_EQUAL, LESS,
  LESS_OR_EQUAL, NOT_EQUAL, EQUAL, GREATER,
  GREATER_OR_EQUAL, LESS, LESS_OR_EQUAL, NOT_EQUAL
}
 List of operators on filter values. More...
 

Protected Member Functions

 Filter (FilterIntegerParam p, FilterOperator o, int value)
 Internal constructor for integer-type filters. More...
 
 Filter (FilterBoolParam p, bool value=true)
 Internal constructor for boolean-type filters. More...
 
 Filter (FilterAttributeParam p, const string name)
 Internal constructor for attribute-type filters. More...
 
 Filter (FilterIntegerParam p, FilterOperator o, int value)
 Internal constructor for integer-type filters. More...
 
 Filter (FilterBoolParam p, bool value=true)
 Internal constructor for boolean-type filters. More...
 
 Filter (FilterAttributeParam p, const string name)
 Internal constructor for attribute-type filters. More...
 
Filter operator== (int value) const
 Create integer filter with operator ==. More...
 
Filter operator== (int value) const
 Create integer filter with operator ==. More...
 
Filter operator!= (int value) const
 Create integer filter with operator !=. More...
 
Filter operator!= (int value) const
 Create integer filter with operator !=. More...
 
Filter operator> (int value) const
 Create integer filter with operator > More...
 
Filter operator> (int value) const
 Create integer filter with operator > More...
 
Filter operator>= (int value) const
 Create integer filter with operator >=. More...
 
Filter operator>= (int value) const
 Create integer filter with operator >=. More...
 
Filter operator< (int value) const
 Create integer filter with operator <. More...
 
Filter operator< (int value) const
 Create integer filter with operator <. More...
 
Filter operator<= (int value) const
 Create integer filter with operator <=. More...
 
Filter operator<= (int value) const
 Create integer filter with operator <=. More...
 

Static Protected Member Functions

static const FilterBase init_status ()
 init static const STATUS More...
 
static const FilterBase init_status ()
 init static const STATUS More...
 
static const FilterBase init_pdg_id ()
 init static const PDG_ID More...
 
static const FilterBase init_pdg_id ()
 init static const PDG_ID More...
 
static const FilterBase init_abs_pdg_id ()
 init static const ABS_PDG_ID More...
 
static const FilterBase init_abs_pdg_id ()
 init static const ABS_PDG_ID More...
 
static const Filter init_has_end_vertex ()
 init static const HAS_END_VERTEX More...
 
static const Filter init_has_end_vertex ()
 init static const HAS_END_VERTEX More...
 
static const Filter init_has_production_vertex ()
 init static const HAS_PRODUCTION_VERTEX More...
 
static const Filter init_has_production_vertex ()
 init static const HAS_PRODUCTION_VERTEX More...
 
static const Filter init_has_same_pdg_id_daughter ()
 init static const HAS_SAME_PDG_ID_DAUGHTER More...
 
static const Filter init_has_same_pdg_id_daughter ()
 init static const HAS_SAME_PDG_ID_DAUGHTER More...
 
static const Filter init_is_stable ()
 init static const IS_STABLE More...
 
static const Filter init_is_stable ()
 init static const IS_STABLE More...
 
static const Filter init_is_beam ()
 init static const IS_BEAM More...
 
static const Filter init_is_beam ()
 init static const IS_BEAM More...
 

Protected Attributes

FilterOperator m_operator
 Operator used by filter. More...
 
int m_int_value
 Filter parameter for integer-type filter. More...
 
bool m_bool_value
 Filter parameter for boolean-type filter. More...
 
string m_attribute_name
 Filter parameter for attribute-type filters. More...
 
string m_attribute_str
 Filter parameter for attribute-type filters. More...
 
FilterParamType m_value_type
 Parameter type. More...
 
union {
   FilterAttributeParam   m_attribute
 Attribute value (if attribute parameter type) More...
 
   FilterIntegerParam   m_int
 Integer value (if integer parameter type) More...
 
   FilterBoolParam   m_bool
 Boolean value (if boolean parameter type) More...
 
}; 
 
union {
   FilterAttributeParam   m_attribute
 Attribute value (if attribute parameter type) More...
 
   FilterIntegerParam   m_int
 Integer value (if integer parameter type) More...
 
   FilterBoolParam   m_bool
 Boolean value (if boolean parameter type) More...
 
}; 
 

Private Member Functions

bool passed_int_filter (const GenParticlePtr &p) const
 Filter::passed_filter helper for integer-type filters. More...
 
bool passed_bool_filter (const GenParticlePtr &p) const
 Filter::passed_filter helper for pointer-type filters. More...
 
bool passed_attribute_filter (const GenParticlePtr &p) const
 Filter::passed_filter helper for attribute-type filters. More...
 
bool passed_int_filter (const GenParticlePtr &p) const
 Filter::passed_filter helper for integer-type filters. More...
 
bool passed_bool_filter (const GenParticlePtr &p) const
 Filter::passed_filter helper for pointer-type filters. More...
 
bool passed_attribute_filter (const GenParticlePtr &p) const
 Filter::passed_filter helper for attribute-type filters. More...
 

Friends

class FilterBase
 

Member Enumeration Documentation

◆ FilterAttributeParam [1/2]

enum FilterAttributeParam
protectedinherited

List of filters with attribute parameter.

Definition at line 56 of file build/outputs/include/HepMC/Search/FilterBase.h.

◆ FilterAttributeParam [2/2]

enum FilterAttributeParam
protectedinherited

List of filters with attribute parameter.

Definition at line 56 of file include/HepMC/Search/FilterBase.h.

◆ FilterBoolParam [1/2]

enum FilterBoolParam
protectedinherited

List of filters with boolean parameter.

Definition at line 47 of file build/outputs/include/HepMC/Search/FilterBase.h.

◆ FilterBoolParam [2/2]

enum FilterBoolParam
protectedinherited

List of filters with boolean parameter.

Definition at line 47 of file include/HepMC/Search/FilterBase.h.

◆ FilterIntegerParam [1/2]

enum FilterIntegerParam
protectedinherited

List of filters with integer parameter.

Definition at line 40 of file build/outputs/include/HepMC/Search/FilterBase.h.

◆ FilterIntegerParam [2/2]

enum FilterIntegerParam
protectedinherited

List of filters with integer parameter.

Definition at line 40 of file include/HepMC/Search/FilterBase.h.

◆ FilterOperator [1/2]

enum FilterOperator
protectedinherited

List of operators on filter values.

Definition at line 62 of file include/HepMC/Search/FilterBase.h.

◆ FilterOperator [2/2]

enum FilterOperator
protectedinherited

List of operators on filter values.

Definition at line 62 of file build/outputs/include/HepMC/Search/FilterBase.h.

◆ FilterParamType [1/2]

enum FilterParamType
protectedinherited

List of filter parameter types.

Definition at line 33 of file build/outputs/include/HepMC/Search/FilterBase.h.

◆ FilterParamType [2/2]

enum FilterParamType
protectedinherited

List of filter parameter types.

Definition at line 33 of file include/HepMC/Search/FilterBase.h.

Constructor & Destructor Documentation

◆ Filter() [1/6]

Filter ( FilterIntegerParam  p,
FilterOperator  o,
int  value 
)
inlineprotected

Internal constructor for integer-type filters.

Invoked when an operator == != < > <= or >= with integer value is used on a filter.

Definition at line 46 of file build/outputs/include/HepMC/Search/Filter.h.

◆ Filter() [2/6]

Filter ( FilterBoolParam  p,
bool  value = true 
)
inlineprotected

Internal constructor for boolean-type filters.

Used to initialize global static const filters and to create new filters using operator '!'

Definition at line 53 of file build/outputs/include/HepMC/Search/Filter.h.

◆ Filter() [3/6]

Filter ( FilterAttributeParam  p,
const string  name 
)
inlineprotected

Internal constructor for attribute-type filters.

Used when class ATTRIBUTE is called to provide attribute name

Definition at line 59 of file build/outputs/include/HepMC/Search/Filter.h.

◆ Filter() [4/6]

Filter ( FilterIntegerParam  p,
FilterOperator  o,
int  value 
)
inlineprotected

Internal constructor for integer-type filters.

Invoked when an operator == != < > <= or >= with integer value is used on a filter.

Definition at line 46 of file include/HepMC/Search/Filter.h.

◆ Filter() [5/6]

Filter ( FilterBoolParam  p,
bool  value = true 
)
inlineprotected

Internal constructor for boolean-type filters.

Used to initialize global static const filters and to create new filters using operator '!'

Definition at line 53 of file include/HepMC/Search/Filter.h.

◆ Filter() [6/6]

Filter ( FilterAttributeParam  p,
const string  name 
)
inlineprotected

Internal constructor for attribute-type filters.

Used when class ATTRIBUTE is called to provide attribute name

Definition at line 59 of file include/HepMC/Search/Filter.h.

Member Function Documentation

◆ init_abs_pdg_id() [1/2]

static const FilterBase init_abs_pdg_id ( )
inlinestaticinherited

init static const ABS_PDG_ID

Definition at line 77 of file build/outputs/include/HepMC/Search/FilterBase.h.

References FilterBase::FilterBase().

◆ init_abs_pdg_id() [2/2]

static const FilterBase init_abs_pdg_id ( )
inlinestaticinherited

init static const ABS_PDG_ID

Definition at line 77 of file include/HepMC/Search/FilterBase.h.

References FilterBase::FilterBase().

◆ init_has_end_vertex() [1/2]

const Filter init_has_end_vertex ( )
staticinherited

init static const HAS_END_VERTEX

Definition at line 25 of file FilterBase.cc.

◆ init_has_end_vertex() [2/2]

static const Filter init_has_end_vertex ( )
staticinherited

init static const HAS_END_VERTEX

◆ init_has_production_vertex() [1/2]

const Filter init_has_production_vertex ( )
staticinherited

init static const HAS_PRODUCTION_VERTEX

Definition at line 26 of file FilterBase.cc.

◆ init_has_production_vertex() [2/2]

static const Filter init_has_production_vertex ( )
staticinherited

init static const HAS_PRODUCTION_VERTEX

◆ init_has_same_pdg_id_daughter() [1/2]

const Filter init_has_same_pdg_id_daughter ( )
staticinherited

init static const HAS_SAME_PDG_ID_DAUGHTER

Definition at line 27 of file FilterBase.cc.

◆ init_has_same_pdg_id_daughter() [2/2]

static const Filter init_has_same_pdg_id_daughter ( )
staticinherited

init static const HAS_SAME_PDG_ID_DAUGHTER

◆ init_is_beam() [1/2]

const Filter init_is_beam ( )
staticinherited

init static const IS_BEAM

Definition at line 29 of file FilterBase.cc.

◆ init_is_beam() [2/2]

static const Filter init_is_beam ( )
staticinherited

init static const IS_BEAM

◆ init_is_stable() [1/2]

const Filter init_is_stable ( )
staticinherited

init static const IS_STABLE

Definition at line 28 of file FilterBase.cc.

◆ init_is_stable() [2/2]

static const Filter init_is_stable ( )
staticinherited

init static const IS_STABLE

◆ init_pdg_id() [1/2]

static const FilterBase init_pdg_id ( )
inlinestaticinherited

init static const PDG_ID

Definition at line 76 of file build/outputs/include/HepMC/Search/FilterBase.h.

References FilterBase::FilterBase().

◆ init_pdg_id() [2/2]

static const FilterBase init_pdg_id ( )
inlinestaticinherited

init static const PDG_ID

Definition at line 76 of file include/HepMC/Search/FilterBase.h.

References FilterBase::FilterBase().

◆ init_status() [1/2]

static const FilterBase init_status ( )
inlinestaticinherited

init static const STATUS

Definition at line 75 of file include/HepMC/Search/FilterBase.h.

References FilterBase::FilterBase().

◆ init_status() [2/2]

static const FilterBase init_status ( )
inlinestaticinherited

init static const STATUS

Definition at line 75 of file build/outputs/include/HepMC/Search/FilterBase.h.

References FilterBase::FilterBase().

◆ operator!() [1/2]

Filter operator! ( ) const
inline

Logical NOT operator for boolean filters.

Definition at line 69 of file build/outputs/include/HepMC/Search/Filter.h.

References Filter::Filter(), FilterBase::m_bool, and Filter::m_bool_value.

◆ operator!() [2/2]

Filter operator! ( ) const
inline

Logical NOT operator for boolean filters.

Definition at line 69 of file include/HepMC/Search/Filter.h.

References Filter::Filter(), FilterBase::m_bool, and Filter::m_bool_value.

◆ operator!=() [1/2]

Filter operator!= ( int  value) const
inherited

Create integer filter with operator !=.

◆ operator!=() [2/2]

Filter operator!= ( int  value) const
inherited

Create integer filter with operator !=.

Definition at line 18 of file FilterBase.cc.

References FilterBase::m_int.

◆ operator<() [1/2]

Filter operator< ( int  value) const
inherited

Create integer filter with operator <.

Definition at line 21 of file FilterBase.cc.

References FilterBase::m_int.

◆ operator<() [2/2]

Filter operator< ( int  value) const
inherited

Create integer filter with operator <.

◆ operator<=() [1/2]

Filter operator<= ( int  value) const
inherited

Create integer filter with operator <=.

◆ operator<=() [2/2]

Filter operator<= ( int  value) const
inherited

Create integer filter with operator <=.

Definition at line 22 of file FilterBase.cc.

References FilterBase::m_int.

◆ operator==() [1/2]

Filter operator== ( int  value) const
inherited

Create integer filter with operator ==.

◆ operator==() [2/2]

Filter operator== ( int  value) const
inherited

Create integer filter with operator ==.

Definition at line 17 of file FilterBase.cc.

References FilterBase::m_int.

◆ operator>() [1/2]

Filter operator> ( int  value) const
inherited

Create integer filter with operator >

◆ operator>() [2/2]

Filter operator> ( int  value) const
inherited

Create integer filter with operator >

Definition at line 19 of file FilterBase.cc.

References FilterBase::m_int.

◆ operator>=() [1/2]

Filter operator>= ( int  value) const
inherited

Create integer filter with operator >=.

◆ operator>=() [2/2]

Filter operator>= ( int  value) const
inherited

Create integer filter with operator >=.

Definition at line 20 of file FilterBase.cc.

References FilterBase::m_int.

◆ passed_attribute_filter() [1/2]

bool passed_attribute_filter ( const GenParticlePtr p) const
private

Filter::passed_filter helper for attribute-type filters.

Definition at line 99 of file Filter.cc.

References FilterBase::m_attribute, Filter::m_attribute_name, Filter::m_attribute_str, and Filter::m_bool_value.

◆ passed_attribute_filter() [2/2]

bool passed_attribute_filter ( const GenParticlePtr p) const
private

Filter::passed_filter helper for attribute-type filters.

◆ passed_bool_filter() [1/2]

bool passed_bool_filter ( const GenParticlePtr p) const
private

Filter::passed_filter helper for pointer-type filters.

◆ passed_bool_filter() [2/2]

bool passed_bool_filter ( const GenParticlePtr p) const
private

Filter::passed_filter helper for pointer-type filters.

Definition at line 59 of file Filter.cc.

References FilterBase::m_bool, and Filter::m_bool_value.

◆ passed_filter() [1/2]

bool passed_filter ( const GenParticlePtr p) const

◆ passed_filter() [2/2]

bool passed_filter ( const GenParticlePtr p) const

Check if HepMC::GenParticle passed this filter.

◆ passed_int_filter() [1/2]

bool passed_int_filter ( const GenParticlePtr p) const
private

Filter::passed_filter helper for integer-type filters.

Definition at line 31 of file Filter.cc.

References FilterBase::m_int, Filter::m_int_value, and Filter::m_operator.

◆ passed_int_filter() [2/2]

bool passed_int_filter ( const GenParticlePtr p) const
private

Filter::passed_filter helper for integer-type filters.

Field Documentation

◆ m_attribute

FilterAttributeParam m_attribute
inherited

Attribute value (if attribute parameter type)

Definition at line 126 of file build/outputs/include/HepMC/Search/FilterBase.h.

◆ m_attribute_name

string m_attribute_name
protected

Filter parameter for attribute-type filters.

Definition at line 87 of file build/outputs/include/HepMC/Search/Filter.h.

◆ m_attribute_str

string m_attribute_str
protected

Filter parameter for attribute-type filters.

Definition at line 88 of file build/outputs/include/HepMC/Search/Filter.h.

◆ m_bool

FilterBoolParam m_bool
inherited

Boolean value (if boolean parameter type)

Definition at line 128 of file build/outputs/include/HepMC/Search/FilterBase.h.

◆ m_bool_value

bool m_bool_value
protected

Filter parameter for boolean-type filter.

Definition at line 86 of file build/outputs/include/HepMC/Search/Filter.h.

◆ m_int

FilterIntegerParam m_int
inherited

Integer value (if integer parameter type)

Definition at line 127 of file build/outputs/include/HepMC/Search/FilterBase.h.

◆ m_int_value

int m_int_value
protected

Filter parameter for integer-type filter.

Definition at line 85 of file build/outputs/include/HepMC/Search/Filter.h.

◆ m_operator

FilterOperator m_operator
protected

Operator used by filter.

Definition at line 84 of file build/outputs/include/HepMC/Search/Filter.h.

◆ m_value_type

FilterParamType m_value_type
protectedinherited

Parameter type.

Definition at line 123 of file build/outputs/include/HepMC/Search/FilterBase.h.


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