| 59 | 
  | 
 | 
| 60 | 
  | 
namespace oopse { | 
| 61 | 
  | 
   | 
| 62 | 
< | 
  RNEMD::RNEMD(SimInfo* info) : info_(info) { | 
| 62 | 
> | 
  RNEMD::RNEMD(SimInfo* info) : info_(info), evaluator_(info), seleMan_(info) { | 
| 63 | 
  | 
     | 
| 64 | 
  | 
    int seedValue; | 
| 65 | 
  | 
    Globals * simParams = info->getSimParams(); | 
| 70 | 
  | 
    stringToEnumMap_["Pz"] = rnemdPz; | 
| 71 | 
  | 
    stringToEnumMap_["Unknown"] = rnemdUnknown; | 
| 72 | 
  | 
 | 
| 73 | 
+ | 
    rnemdObjectSelection_ = simParams->getRNEMD_objectSelection(); | 
| 74 | 
+ | 
 | 
| 75 | 
+ | 
    std::cerr << "calling  evaluator with " << rnemdObjectSelection_ << "\n"; | 
| 76 | 
+ | 
    evaluator_.loadScriptString(rnemdObjectSelection_); | 
| 77 | 
+ | 
    std::cerr << "done"; | 
| 78 | 
+ | 
     | 
| 79 | 
  | 
    const std::string st = simParams->getRNEMD_swapType(); | 
| 80 | 
  | 
 | 
| 81 | 
  | 
    std::map<std::string, RNEMDTypeEnum>::iterator i; | 
| 82 | 
  | 
    i = stringToEnumMap_.find(st); | 
| 83 | 
  | 
    rnemdType_  = (i == stringToEnumMap_.end()) ? RNEMD::rnemdUnknown : i->second; | 
| 84 | 
  | 
 | 
| 79 | 
– | 
 | 
| 85 | 
  | 
    set_RNEMD_swapTime(simParams->getRNEMD_swapTime()); | 
| 86 | 
  | 
    set_RNEMD_nBins(simParams->getRNEMD_nBins()); | 
| 87 | 
  | 
    exchangeSum_ = 0.0; | 
| 113 | 
  | 
    std::cerr << "swapTime = " << swapTime_ << "\n"; | 
| 114 | 
  | 
    std::cerr << "exchangeSum = " << exchangeSum_ << "\n"; | 
| 115 | 
  | 
    std::cerr << "swapType = " << rnemdType_ << "\n"; | 
| 116 | 
+ | 
    std::cerr << "selection = " << rnemdObjectSelection_ << "\n"; | 
| 117 | 
+ | 
 | 
| 118 | 
+ | 
    seleMan_.setSelectionSet(evaluator_.evaluate()); | 
| 119 | 
+ | 
 | 
| 120 | 
+ | 
    std::cerr << "selectionCount = " << seleMan_.getSelectionCount() << "\n\n"; | 
| 121 | 
+ | 
 | 
| 122 | 
+ | 
    int i; | 
| 123 | 
+ | 
    StuntDouble* sd; | 
| 124 | 
+ | 
 | 
| 125 | 
+ | 
    for (sd = seleMan_.beginSelected(i); sd != NULL; sd = seleMan_.nextSelected(i)) { | 
| 126 | 
+ | 
      Vector3d pos = sd->getPos(); | 
| 127 | 
+ | 
      //wrap the stuntdoubles into a cell       | 
| 128 | 
+ | 
      if (usePeriodicBoundaryConditions_) | 
| 129 | 
+ | 
        info_->getSnapshotManager()->getCurrentSnapshot()->wrapVector(pos); | 
| 130 | 
+ | 
      int binNo = int(nBins_ * (pos.z()) / hmat(2,2)); | 
| 131 | 
+ | 
      sliceSDLists_[binNo].push_back(sd); | 
| 132 | 
+ | 
    } | 
| 133 | 
+ | 
 | 
| 134 | 
  | 
  }    | 
| 135 | 
  | 
} |