Class CoordExtractor

Class Documentation

class CoordExtractor

System for extracting final coordinates from Gaussian log files.

Provides functionality to process Gaussian log files, extract the last set of Cartesian coordinates, and save them in XYZ format. Supports parallel processing with resource management integration.

Features

  • Efficient backward reading for large log files

  • Automatic fallback to full read if needed

  • Multi-threaded processing

  • Resource-aware operation

  • Detailed reporting and error handling

  • Moves XYZ files to status-based directories

Public Functions

explicit CoordExtractor(std::shared_ptr<ProcessingContext> ctx, bool quiet = false)

Constructor with processing context.

Parameters:
  • ctx – Shared processing context

  • quiet – Quiet mode flag

ExtractSummary extract_coordinates(const std::vector<std::string> &log_files)

Extract coordinates from multiple log files.

Processes files in parallel, extracts coordinates, writes XYZ files, and moves them to appropriate directories based on job status.

Parameters:

log_files – Vector of log file paths

Returns:

ExtractSummary with results

void print_summary(const ExtractSummary &summary, const std::string &operation)

Print extraction summary.

Parameters:
  • summary – Extraction summary

  • operation – Operation description