public: \
ClassName() : m_data(UINT_MAX) {}; \
explicit ClassName(
unsigned int dat ) : m_data(dat) {} \
operator unsigned int ()
const { \
return m_data; \
} \
const ClassName& operator=( const ClassName& rhs ) { \
m_data = rhs.m_data; \
return *this; \
} \
const ClassName& operator=( unsigned int rhs ) { \
m_data = rhs; \
return *this; \
} \
return m_data != UINT_MAX; \
} \
private: \
unsigned int m_data; \
};
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
An interface for getting the name of a class as a string.
25#define CREATE_HASH_CLASS(ClassName) \
26class ClassName { \
27public: \
28 ClassName() : m_data(UINT_MAX) {}; \
29 explicit ClassName( unsigned int dat ) : m_data(dat) {} \
30 operator unsigned int () const { \
31 return m_data; \
32 } \
33 const ClassName& operator=( const ClassName& rhs ) { \
34 m_data = rhs.m_data; \
35 return *this; \
36 } \
37 const ClassName& operator=( unsigned int rhs ) { \
38 m_data = rhs; \
39 return *this; \
40 } \
41 bool isValid() const { \
42 return m_data != UINT_MAX; \
43 } \
44private: \
45 unsigned int m_data; \
46};