コード例 #1
0
ファイル: CopyLogs.cpp プロジェクト: BigShows/mantid
 /**
  * Copy logs from the input workspace to the output workspace
  * and replace any matching logs with the ones from the input workspace.
  */
 void CopyLogs::mergeReplaceExisting(const std::vector< Kernel::Property* >& inputLogs, Run& outputRun)
 {
   for(auto iter = inputLogs.begin(); iter != inputLogs.end(); ++iter)
   {
     Kernel::Property* prop = *iter;
     //if the log exists, remove and replace it
     if ( outputRun.hasProperty(prop->name()) )
     {
       outputRun.removeLogData(prop->name());
     }
     outputRun.addLogData(prop->clone());
   }
 }
コード例 #2
0
ファイル: CopyLogs.cpp プロジェクト: spaceyatom/mantid
/**
 * Copy logs from the input workspace to the output workspace
 * and don't replace any mathcing logs in the output workspace.
 */
void CopyLogs::mergeKeepExisting(
    const std::vector<Kernel::Property *> &inputLogs, Run &outputRun) {
  for (auto iter = inputLogs.begin(); iter != inputLogs.end(); ++iter) {
    Kernel::Property *prop = *iter;
    // add the log only if it doesn't already exist
    if (!outputRun.hasProperty(prop->name())) {
      outputRun.addLogData(prop->clone());
    }
  }
}