18#ifndef VOTCA_CSG_LAMMPSDATAREADER_PRIVATE_H
19#define VOTCA_CSG_LAMMPSDATAREADER_PRIVATE_H
63 bool Open(
const std::string &file)
override;
69 void Close()
override;
76 std::map<std::string, std::vector<std::vector<std::string>>>
data_;
109 void ReadNumTypes_(std::vector<std::string> fields, std::string type);
class for reading lammps data files
void ReadNumOfAtoms_(std::vector< std::string > fields, Topology &top)
lammps_format determineDataFileFormat_(std::string line)
void ReadNumOfDihedrals_(std::vector< std::string > fields)
void ReadBonds_(Topology &top)
void InitializeAtomAndBeadTypes_()
Determines atom and bead types based on masses in lammps files.
void ReadAngles_(Topology &top)
void ReadNumOfAngles_(std::vector< std::string > fields)
bool MatchFourFieldLabels_(std::vector< std::string > fields, Topology &top)
const tools::MolarForceUnit force_unit
const tools::ChargeUnit charge_unit
void RenameMolecules(MoleculeContainer &molecules) const
std::map< std::string, Index > numberOfDifferentTypes_
void ReadAtoms_(Topology &top)
LAMMPSDataReader()=default
bool ReadTopology(std::string file, Topology &top) override
open, read and close topology file
void Close() override
close the topology file
const tools::MolarEnergyUnit energy_unit
void ReadBox_(std::vector< std::string > fields, Topology &top)
void ReadNumOfImpropers_(std::vector< std::string > fields)
void SortIntoDataGroup_(std::string tag)
void ReadDihedrals_(Topology &top)
bool FirstFrame(Topology &top) override
read in the first frame of trajectory file
std::map< std::string, std::vector< std::vector< std::string > > > data_
~LAMMPSDataReader() override=default
std::map< std::string, Index > numberOf_
bool NextFrame(Topology &top) override
read in the next frame of trajectory file
const tools::TimeUnit time_unit
std::map< Index, Index > atomIdToIndex_
const tools::MassUnit mass_unit
void ReadNumTypes_(std::vector< std::string > fields, std::string type)
bool MatchOneFieldLabel_(std::vector< std::string > fields, Topology &top)
std::map< Index, Molecule * > molecules_
std::map< Index, std::string > atomtypes_
@ style_angle_bond_molecule
void ReadNumOfBonds_(std::vector< std::string > fields)
bool MatchThreeFieldLabels_(std::vector< std::string > fields)
std::map< Index, Index > atomIdToMoleculeId_
bool Open(const std::string &file) override
open a trajectory file
const tools::DistanceUnit distance_unit
bool MatchTwoFieldLabels_(std::vector< std::string > fields, Topology &top)
topology of the whole system
trajectoryreader interface
boost::container::deque< Molecule, void, block_molecule_4x_t > MoleculeContainer
base class for all analysis tools