| 46 | 
  | 
 | 
| 47 | 
  | 
namespace oopse { | 
| 48 | 
  | 
 | 
| 49 | 
< | 
GofRAngle::GofRAngle(SimInfo* info, const std::string& filename, const std::string& sele1, const std::string& sele2) | 
| 50 | 
< | 
    : RadialDistrFunc(info, filename, sele1, sele2){ | 
| 49 | 
> | 
GofRAngle::GofRAngle(SimInfo* info, const std::string& filename, const std::string& sele1,  | 
| 50 | 
> | 
    const std::string& sele2, double len, int nrbins, int nangleBins) | 
| 51 | 
> | 
    : RadialDistrFunc(info, filename, sele1, sele2), len_(len), nRBins_(nrbins), nAngleBins_(nangleBins){ | 
| 52 | 
  | 
 | 
| 53 | 
+ | 
    deltaR_ = len_ /nRBins_;              | 
| 54 | 
+ | 
    deltaCosAngle_ = 2.0 / nAngleBins_;     | 
| 55 | 
+ | 
 | 
| 56 | 
+ | 
    histogram_.resize(nRBins_); | 
| 57 | 
+ | 
    avgGofr_.resize(nRBins_); | 
| 58 | 
+ | 
    for (int i = 0 ; i < nRBins_; ++i) { | 
| 59 | 
+ | 
        histogram_[i].resize(nAngleBins_); | 
| 60 | 
+ | 
        avgGofr_[i].resize(nAngleBins_); | 
| 61 | 
+ | 
    } | 
| 62 | 
  | 
} | 
| 63 | 
  | 
 | 
| 64 | 
  | 
 | 
| 127 | 
  | 
        rdfStream << "#radial distribution function\n"; | 
| 128 | 
  | 
        rdfStream << "#selection1: (" << selectionScript1_ << ")\t"; | 
| 129 | 
  | 
        rdfStream << "selection2: (" << selectionScript2_ << ")\n"; | 
| 130 | 
< | 
        rdfStream << "#r\tcorrValue\n"; | 
| 130 | 
> | 
        rdfStream << "#nRBins = " << nRBins_ << "\t maxLen = " << len_ << "deltaR = " << deltaR_ <<"\n"; | 
| 131 | 
> | 
        rdfStream << "#nAngleBins =" << nAngleBins_ << "deltaCosAngle = " << deltaCosAngle_ << "\n"; | 
| 132 | 
  | 
        for (int i = 0; i < avgGofr_.size(); ++i) { | 
| 133 | 
  | 
            double r = deltaR_ * (i + 0.5); | 
| 134 | 
  | 
 | 
| 135 | 
  | 
            for(int j = 0; j < avgGofr_[i].size(); ++j) { | 
| 136 | 
< | 
                double cosAngle = -1.0 + (i + 0.5)*deltaCosAngle_; | 
| 137 | 
< | 
                rdfStream << r << "\t" << cosAngle << "\t" << avgGofr_[i][j]/nProcessed_ << "\n"; | 
| 136 | 
> | 
                double cosAngle = -1.0 + (j + 0.5)*deltaCosAngle_; | 
| 137 | 
> | 
                rdfStream << avgGofr_[i][j]/nProcessed_ << "\t"; | 
| 138 | 
  | 
            } | 
| 139 | 
+ | 
 | 
| 140 | 
+ | 
            rdfStream << "\n"; | 
| 141 | 
  | 
        } | 
| 142 | 
  | 
         | 
| 143 | 
  | 
    } else { | 
| 144 | 
< | 
 | 
| 145 | 
< | 
 | 
| 144 | 
> | 
        sprintf(painCave.errMsg, "GofRAngle: unable to open %s\n", outputFilename_.c_str()); | 
| 145 | 
> | 
        painCave.isFatal = 1; | 
| 146 | 
> | 
        simError();   | 
| 147 | 
  | 
    } | 
| 148 | 
  | 
 | 
| 149 | 
  | 
    rdfStream.close(); |