44 |
|
#include "selection/SelectionManager.hpp" |
45 |
|
#include "applications/staticProps/StaticAnalyser.hpp" |
46 |
|
#include "math/Vector3.hpp" |
47 |
+ |
#include "math/SphericalHarmonic.hpp" |
48 |
|
#include "math/Wigner3jm_interface.h" |
49 |
|
|
50 |
|
namespace oopse { |
52 |
|
class BondOrderParameter : public StaticAnalyser{ |
53 |
|
public: |
54 |
|
BondOrderParameter(SimInfo* info, const std::string& filename, |
55 |
< |
const std::string& sele, double rCut, int lNumber, int nbins); |
55 |
> |
const std::string& sele, double rCut, int lMax, int nbins); |
56 |
|
|
57 |
|
virtual ~BondOrderParameter(); |
58 |
|
virtual void process(); |
59 |
|
|
60 |
|
private: |
61 |
|
|
62 |
< |
void writeOrderParameter(RealType Q_l, RealType W_l_hat); |
62 |
> |
void writeOrderParameter(std::vector<RealType> Q, std::vector<ComplexType> What); |
63 |
|
virtual void initalizeHistogram(); |
64 |
< |
virtual void collectHistogram(RealType q_l, RealType w_l); |
64 |
> |
virtual void collectHistogram(std::vector<RealType> q); |
65 |
|
|
66 |
|
Snapshot* currentSnapshot_; |
67 |
|
|
70 |
|
SelectionEvaluator evaluator_; |
71 |
|
|
72 |
|
RealType rCut_; |
73 |
< |
int lNumber_; |
73 |
< |
int mSize_; |
73 |
> |
int lMax_; |
74 |
|
int frameCounter_; |
75 |
+ |
int nBins_; |
76 |
|
|
77 |
|
RealType MinQ_; |
78 |
|
RealType MaxQ_; |
79 |
|
RealType deltaQ_; |
80 |
< |
RealType sumQ_; |
81 |
< |
RealType sumQ2_; |
81 |
< |
int Qcount_; |
82 |
< |
std::vector<int> Q_histogram_; |
80 |
> |
std::vector<int> Qcount_; |
81 |
> |
std::map<std::pair<int,int>,int> Q_histogram_; |
82 |
|
|
83 |
|
RealType MinW_; |
84 |
|
RealType MaxW_; |
85 |
|
RealType deltaW_; |
86 |
< |
RealType sumW_; |
87 |
< |
RealType sumW2_; |
89 |
< |
int Wcount_; |
90 |
< |
std::vector<int> W_histogram_; |
86 |
> |
std::vector<int> Wcount_; |
87 |
> |
std::map<std::pair<int,int>,int> W_histogram_; |
88 |
|
}; |
89 |
|
} |
90 |
|
|