File indexing completed on 2024-04-06 12:29:40
0001 #ifndef SimDataFormats_HFShowerPhoton_H
0002 #define SimDataFormats_HFShowerPhoton_H
0003
0004
0005
0006
0007
0008 #include "DataFormats/Math/interface/Point3D.h"
0009 #include <iostream>
0010 #include <cmath>
0011 #include <vector>
0012
0013 class HFShowerPhoton {
0014 public:
0015
0016 typedef math::XYZPointF Point;
0017
0018 HFShowerPhoton(float x = 0, float y = 0, float z = 0, float lambda = 0, float t = 0);
0019 HFShowerPhoton(const Point& p, float time, float lambda);
0020 HFShowerPhoton(const HFShowerPhoton&) = default;
0021 HFShowerPhoton(HFShowerPhoton&&) = default;
0022
0023 HFShowerPhoton& operator=(const HFShowerPhoton&) = default;
0024 HFShowerPhoton& operator=(HFShowerPhoton&&) = default;
0025
0026 const Point& position() const { return position_; }
0027 float x() const { return position_.X(); }
0028 float y() const { return position_.Y(); }
0029 float z() const { return position_.Z(); }
0030 float lambda() const { return lambda_; }
0031 float t() const { return time_; }
0032
0033 private:
0034 Point position_;
0035 float lambda_;
0036 float time_;
0037 };
0038
0039 typedef std::vector<HFShowerPhoton> HFShowerPhotonCollection;
0040
0041 std::ostream& operator<<(std::ostream&, const HFShowerPhoton&);
0042
0043 #endif