Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-18 09:11:00

0001 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
0002 
0003 #ifndef EDM4HEP_Vector2i_H
0004 #define EDM4HEP_Vector2i_H
0005 
0006 #include <cstddef>
0007 #include <cstdint>
0008 #include <ostream>
0009 
0010 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0011 #include "nlohmann/json_fwd.hpp"
0012 #endif
0013 
0014 namespace edm4hep {
0015 
0016 /** @class Vector2i
0017  *  
0018  *  @author: 
0019  */
0020 class Vector2i {
0021 public:
0022   std::int32_t a{};
0023   std::int32_t b{};
0024 
0025  constexpr Vector2i() : a(0),b(0) {}
0026  constexpr Vector2i(int32_t aa, int32_t bb) : a(aa),b(bb) {}
0027  constexpr Vector2i( const int32_t* v) : a(v[0]), b(v[1]) {}
0028  constexpr bool operator==(const Vector2i& v) const { return (a==v.a&&b==v.b) ; }
0029  constexpr bool operator!=(const Vector2i& v) const { return !(*this == v) ; }
0030  constexpr int operator[](unsigned i) const {
0031  static_assert(
0032  offsetof(Vector2i,a)+sizeof(Vector2i::a) == offsetof(Vector2i,b),
0033  "operator[] requires no padding");
0034  return *( &a + i ) ; }
0035  
0036 
0037 };
0038 
0039 std::ostream& operator<<(std::ostream& o, const edm4hep::Vector2i& value);
0040 
0041 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0042 void to_json(nlohmann::json& j, const Vector2i& value);
0043 #endif
0044 
0045 } // namespace edm4hep
0046 
0047 
0048 #endif