19#ifndef VOTCA_XTP_SEGMENTMAPPER_H
20#define VOTCA_XTP_SEGMENTMAPPER_H
38template <
class AtomContainer>
54 using atom_id = std::pair<Index, std::string>;
77 Index atomid,
const std::vector<mapAtom*>& fragment_mapatoms)
const;
83 const T& atoms)
const;
86 const std::vector<const Atom*>& fragment_mdatoms)
const;
89 const std::vector<mapAtom*>& fragment_mapatoms,
90 const std::vector<const Atom*>& fragment_mdatoms)
const;
94 std::pair<Index, Index>
CalcAtomIdRange(
const std::vector<Index>& seg)
const;
108 return frag.
get(
"localframe").template as<std::string>();
123 mapatom_xml_[
"tag"] =
"QM";
124 mapatom_xml_[
"name"] =
"QMAtom";
125 mapatom_xml_[
"atoms"] =
"qmatoms";
126 mapatom_xml_[
"coords"] =
"qmcoords";
127 mapatom_xml_[
"weights"] =
"qm_weights";
128 mapatom_xml_[
"frame"] =
"qm_localframe";
Logger is used for thread-safe output of messages.
Identifier for QMstates. Strings like S1 are converted into enum +zero indexed int.
std::pair< Index, std::string > atom_id
void LoadMappingFile(const std::string &mapfile)
std::map< std::string, Seginfo > segment_info_
void MapMapAtomonMD(const FragInfo &frag, const std::vector< mapAtom * > &fragment_mapatoms, const std::vector< const Atom * > &fragment_mdatoms) const
std::map< std::string, std::string > mapatom_xml_
void ParseFragment(Seginfo &seginfo, const tools::Property &frag)
std::pair< Index, Index > CalcAtomIdRange(const Segment &seg) const
atom_id StringToMapIndex(const std::string &map_string) const
atom_id StringToMDIndex(const std::string &md_string) const
Index getRank(const mapAtom &atom) const
void PlaceMapAtomonMD(const std::vector< mapAtom * > &fragment_mapatoms, const std::vector< const Atom * > &fragment_mdatoms) const
Index FindVectorIndexFromAtomId(Index atomid, const std::vector< mapAtom * > &fragment_mapatoms) const
Eigen::Vector3d CalcWeightedPos(const std::vector< double > &weights, const T &atoms) const
SegmentMapper(Logger &log)
std::string getFrame(const tools::Property &frag) const
AtomContainer map(const Segment &seg, const SegId &segid) const
typename AtomContainer::Atom_Type mapAtom
std::vector< double > getWeights(const tools::Property &frag) const
base class for all analysis tools
std::vector< Index > map_local_frame
std::vector< atom_id > mapatom_ids
std::vector< double > weights
std::vector< atom_id > mdatom_ids
std::vector< Index > mdatoms
std::vector< double > weights
std::pair< Index, Index > minmax
std::vector< FragInfo > fragments
std::map< std::string, std::string > coordfiles
std::vector< atom_id > mapatoms