--- trunk/src/applications/staticProps/BondOrderParameter.hpp 2006/06/27 16:19:28 994 +++ trunk/src/applications/staticProps/BondOrderParameter.hpp 2006/09/22 01:41:11 1049 @@ -38,40 +38,57 @@ * University of Notre Dame has been advised of the possibility of * such damages. */ -#ifndef APPLICATIONS_STATICPROPS_P2ORDERPARAMETER_HPP -#define APPLICATIONS_STATICPROPS_P2ORDERPARAMETER_HPP +#ifndef APPLICATIONS_STATICPROPS_BONDORDERPARAMETER_HPP +#define APPLICATIONS_STATICPROPS_BONDORDERPARAMETER_HPP #include "selection/SelectionEvaluator.hpp" #include "selection/SelectionManager.hpp" #include "applications/staticProps/StaticAnalyser.hpp" +#include "math/Vector3.hpp" +#include "math/Wigner3jm_interface.h" namespace oopse { + + class BondOrderParameter : public StaticAnalyser{ + public: + BondOrderParameter(SimInfo* info, const std::string& filename, + const std::string& sele, double rCut, int lNumber, int nbins); - class P2OrderParameter : public StaticAnalyser{ - public: - P2OrderParameter(SimInfo* info, const std::string& filename, const std::string& sele1, const std::string& sele2); - virtual void process(); + virtual ~BondOrderParameter(); + virtual void process(); - private: + private: + + void writeOrderParameter(RealType Q_l, RealType W_l_hat); + virtual void initalizeHistogram(); + virtual void collectHistogram(RealType q_l); - struct OrderParam{ - RealType p2; - Vector3d director; - RealType angle; - }; - void writeP2(); + Snapshot* currentSnapshot_; - Snapshot* currentSnapshot_; - - std::string selectionScript1_; - std::string selectionScript2_; - SelectionManager seleMan1_; - SelectionManager seleMan2_; - SelectionEvaluator evaluator1_; - SelectionEvaluator evaluator2_; - std::vector > sdPairs_; /**< each pair is used to define a vector, vector = first - second */ - std::vector orderParams_; + std::string selectionScript_; + SelectionManager seleMan_; + SelectionEvaluator evaluator_; - }; + RealType rCut_; + int lNumber_; + int mSize_; + int frameCounter_; + + RealType MinQ_; + RealType MaxQ_; + RealType deltaQ_; + RealType sumQ_; + RealType sumQ2_; + int Qcount_; + std::vector Q_histogram_; + + RealType MinW_; + RealType MaxW_; + RealType deltaW_; + RealType sumW_; + RealType sumW2_; + int Wcount_; + std::vector W_histogram_; + }; } #endif