31 for(
const std::string& var : ignore ) {
40 if( auxids1.
size() != auxids2.
size() ) {
44 if( auxids2.
find( auxid ) == auxids2.
end() ) {
53 const std::type_info* ti = reg.getType( auxid );
59 if( ( *ti !=
typeid( std::string ) ) &&
61 ( *ti !=
typeid(
float ) ) &&
62 ( *ti !=
typeid(
char ) ) &&
63 ( *ti !=
typeid( std::vector< uint32_t > ) ) ) {
66 std::cerr <<
"xAOD::FileMetaData::operator== WARNING Unsupported "
67 <<
"variable (\"" << reg.getName( auxid ) <<
"\"/"
69 <<
") encountered" << std::endl;
74 const std::string
name = reg.getName( auxid );
77 if( *ti ==
typeid( std::string ) ) {
81 const std::string& value1 =
acc( *
this );
82 const std::string& value2 =
acc( rhs );
84 if( value1 != value2 ) {
88 }
else if( *ti ==
typeid(
uint32_t ) ) {
95 if( value1 != value2 ) {
99 }
else if( *ti ==
typeid(
float ) ) {
103 const float& value1 =
acc( *
this );
104 const float& value2 =
acc( rhs );
106 if( std::abs( value1 - value2 ) > 0.001 ) {
110 }
else if( *ti ==
typeid(
char ) ) {
114 const char& value1 =
acc( *
this );
115 const char& value2 =
acc( rhs );
117 if( value1 != value2 ) {
120 }
else if ( *ti ==
typeid( std::vector<uint32_t> ) ) {
123 const std::vector<uint32_t>& value1 =
acc( *
this );
124 const std::vector<uint32_t>& value2 =
acc( rhs );
126 if( value1 != value2 ) {
204 if( !
acc->isAvailable( *
this ) ) {
209 val = ( *acc )( *this );
216 std::string& val )
const {
222 if( !
acc.isAvailable( *
this ) ) {
242 ( *acc )( *this ) = val;
249 const std::string& val ) {
270 if( !
acc->isAvailable( *
this ) ) {
275 val = ( *acc )( *this );
288 if( !
acc.isAvailable( *
this ) ) {
308 ( *acc )( *this ) = val;
335 if( !
acc->isAvailable( *
this ) ) {
340 val = ( *acc )( *this );
353 if( !
acc.isAvailable( *
this ) ) {
373 ( *acc )( *this ) = val;
400 if( !
acc->isAvailable( *
this ) ) {
405 val = ( *acc )( *this );
418 if( !
acc.isAvailable( *
this ) ) {
438 ( *acc )( *this ) = val;
457 std::vector< uint32_t >& val)
const {
462 if (!
acc.isAvailable(*
this)) {
474 const std::vector< uint32_t >& val) {
486#define PRINT_TYPE( TYPE ) \
487 case xAOD::FileMetaData_v1::TYPE: \
488 out << "xAOD::FileMetaData::" << #TYPE; \
520 out <<
"UNKNOWN (" <<
static_cast< int >(
type ) <<
")";
Handle mappings between names and auxid_t.
Helper class to provide constant type-safe access to aux data.
#define PRINT_TYPE(TYPE)
Helper macro for printing the incident types as a string.
const_iterator end() const
Return an end iterator.
ConcurrentBitset & erase(bit_t bit)
Turn off one bit.
bit_t size() const
Count the number of 1 bits in the set.
const_iterator find(bit_t bit) const
If bit bit is set, return an iterator pointing to it.
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items for this object.
SG::Accessor< T, ALLOC > Accessor
AuxElement()
Default constructor.
Handle mappings between names and auxid_t.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Helper class to provide constant type-safe access to aux data.
A set of aux data identifiers.
std::string normalizedTypeinfoName(const std::type_info &info)
Convert a type_info to a normalized string representation (matching the names used in the root dictio...
size_t auxid_t
Identifier for a particular aux data item.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
const SG::AuxElement::Accessor< std::string > * metaDataTypeStringAccessorV1(FileMetaData_v1::MetaDataType type)
Helper function for getting an accessor for a pre-defined property.
const SG::AuxElement::Accessor< uint32_t > * metaDataTypeUIntAccessorV1(FileMetaData_v1::MetaDataType type)
Helper function for getting an accessor for a pre-defined property.
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.
const SG::AuxElement::Accessor< float > * metaDataTypeFloatAccessorV1(FileMetaData_v1::MetaDataType type)
Helper function for getting an accessor for a pre-defined property.
std::ostream & operator<<(std::ostream &out, const std::pair< FIRST, SECOND > &pair)
Helper print operator.
const SG::AuxElement::Accessor< char > * metaDataTypeCharAccessorV1(FileMetaData_v1::MetaDataType type)
Helper function for getting an accessor for a pre-defined property.
Convert a type_info to a normalized string representation (matching the names used in the root dictio...