41 |
|
#ifndef APPLICATIONS_STATICPROPS_GOFXYZ_HPP |
42 |
|
#define APPLICATIONS_STATICPROPS_GOFXYZ_HPP |
43 |
|
|
44 |
< |
#include "application/staticProps/RadialDistrFunc.hpp" |
44 |
> |
#include "applications/staticProps/RadialDistrFunc.hpp" |
45 |
|
namespace oopse { |
46 |
|
|
47 |
|
class GofXyz : public RadialDistrFunc { |
48 |
|
|
49 |
|
public: |
50 |
< |
GofXyz(SimInfo* info, const std::string& filename, const std::string& sele1, const std::string& sele2); |
50 |
> |
GofXyz(SimInfo* info, const std::string& filename, const std::string& sele1, |
51 |
> |
const std::string& sele2, const std::string& sele3,double len, int nrbins); |
52 |
|
|
53 |
< |
void setNRBins(int nbins) { |
54 |
< |
assert(nbins > 0); |
54 |
< |
nRBins_ = nbins; |
55 |
< |
deltaR_ = len_ / nRBins_; |
56 |
< |
|
57 |
< |
histogram_.resize(nRBins_); |
58 |
< |
for (int i = 0 ; i < nRBins_; ++i) { |
59 |
< |
histogram_[i].resize(nRBins_); |
60 |
< |
for(int j = 0; j < nRBins_; ++j) { |
61 |
< |
histogram_[i][j].resize(nRBins_); |
62 |
< |
} |
63 |
< |
} |
53 |
> |
int getNRBins() { |
54 |
> |
return nRBins_; |
55 |
|
} |
65 |
– |
|
56 |
|
|
57 |
+ |
double getLength() { |
58 |
+ |
return len_; |
59 |
+ |
} |
60 |
+ |
|
61 |
|
private: |
62 |
|
|
63 |
|
virtual void preProcess(); |
64 |
+ |
void initalizeHistogram(); |
65 |
|
virtual void collectHistogram(StuntDouble* sd1, StuntDouble* sd2); |
71 |
– |
void processHistogram(); |
66 |
|
virtual void writeRdf(); |
67 |
< |
|
67 |
> |
|
68 |
> |
//virtual void validateSelection1(SelectionManager& sman); |
69 |
> |
|
70 |
|
double len_; |
71 |
+ |
double halfLen_; |
72 |
|
int nRBins_; |
73 |
|
double deltaR_; |
74 |
+ |
|
75 |
+ |
SelectionEvaluator evaluator3_; |
76 |
+ |
SelectionManager seleMan3_; |
77 |
|
|
78 |
|
std::vector<std::vector<std::vector<int> > > histogram_; |
79 |
|
|
80 |
< |
int npairs_; |
80 |
> |
std::map<int, RotMat3x3d> rotMats_; |
81 |
> |
|
82 |
|
}; |
83 |
|
|
84 |
|
|