File indexing completed on 2025-08-06 08:17:37
0001
0002
0003 #ifndef EVENTPLANEINFOV1_H
0004 #define EVENTPLANEINFOV1_H
0005
0006 #include "Eventplaneinfo.h"
0007
0008 #include <cstddef> // for size_t
0009 #include <iostream>
0010 #include <limits>
0011 #include <utility> // for pair, make_pair
0012 #include <vector>
0013
0014 class PHObject;
0015
0016 class Eventplaneinfov1 : public Eventplaneinfo
0017 {
0018 public:
0019 Eventplaneinfov1() = default;
0020 ~Eventplaneinfov1() override = default;
0021
0022 void identify(std::ostream& os = std::cout) const override;
0023 void Reset() override { *this = Eventplaneinfov1(); }
0024 PHObject* CloneMe() const override { return new Eventplaneinfov1(*this); }
0025
0026 void set_qvector(std::vector<std::pair<double, double>> Qvec) override { mQvec = Qvec; }
0027 void set_shifted_psi(std::vector<double> Psi_Shifted) override { mPsi_Shifted = Psi_Shifted; }
0028 std::pair<double, double> get_qvector(int order) const override { return std::make_pair(mQvec[order - 1].first, mQvec[order - 1].second); }
0029 void set_ring_qvector(std::vector<std::vector<std::pair<double, double>>> Qvec) override { ring_Qvec = Qvec; }
0030 std::pair<double, double> get_ring_qvector(int ring_index, int order) const override { return ring_Qvec[ring_index][order - 1]; }
0031 double get_ring_psi(int ring_index, int order) const override {return GetPsi(ring_Qvec[ring_index][order - 1].first,ring_Qvec[ring_index][order - 1].second,order);}
0032 double GetPsi(const double Qx, const double Qy, const unsigned int order) const override;
0033 double get_psi(int order) const override { return GetPsi(mQvec[order - 1].first, mQvec[order - 1].second, order);}
0034 double get_shifted_psi(int order) const override { return mPsi_Shifted[order - 1]; }
0035
0036 private:
0037 std::vector<std::pair<double, double>> mQvec;
0038 std::vector<double> mPsi_Shifted;
0039 std::vector<std::vector<std::pair<double, double>>> ring_Qvec;
0040 ClassDefOverride(Eventplaneinfov1, 1);
0041 };
0042
0043 #endif
0044