Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:06

0001 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
0002 
0003 #ifndef ACTSPODIOEDM_Vector3f_H
0004 #define ACTSPODIOEDM_Vector3f_H
0005 
0006 #include <ostream>
0007 
0008 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0009 #include "nlohmann/json_fwd.hpp"
0010 #endif
0011 
0012 namespace ActsPodioEdm {
0013 
0014 /** @class Vector3f
0015  *
0016  *  @author:
0017  */
0018 class Vector3f {
0019  public:
0020   float x{};
0021   float y{};
0022   float z{};
0023 
0024   constexpr Vector3f() : x(0), y(0), z(0) {}
0025   constexpr Vector3f(float xx, float yy, float zz) : x(xx), y(yy), z(zz) {}
0026   constexpr Vector3f(const float* v) : x(v[0]), y(v[1]), z(v[2]) {}
0027   constexpr bool operator==(const Vector3f& v) const {
0028     return (x == v.x && y == v.y && z == v.z);
0029   }
0030   constexpr float operator[](unsigned i) const { return *(&x + i); }
0031 };
0032 
0033 std::ostream& operator<<(std::ostream& o, const ActsPodioEdm::Vector3f& value);
0034 
0035 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0036 void to_json(nlohmann::json& j, const Vector3f& value);
0037 #endif
0038 
0039 }  // namespace ActsPodioEdm
0040 
0041 #endif