Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:37

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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