1 #ifndef MCMD_ATOM_TYPE_H 2 #define MCMD_ATOM_TYPE_H 60 void setName(std::string name);
67 void setMass(
double mass);
86 void setHasCharge(
bool hasCharge);
95 void setCharge(
double charge);
111 bool hasCharge()
const;
116 double charge()
const;
122 const std::string& name()
const;
156 template <
class Archive>
187 {
return hasCharge_; }
234 template <
class Archive>
240 ar & atomType.hasCharge_;
241 if (atomType.hasCharge_) {
242 ar & atomType.charge_;
251 #include <util/mpi/MpiTraits.h> 265 void send<McMd::AtomType>(MPI::Comm& comm,
McMd::AtomType& data,
int dest,
int tag);
276 void recv<McMd::AtomType>(MPI::Comm& comm,
McMd::AtomType& data,
int source,
int tag);
286 void bcast<McMd::AtomType>(MPI::Intracomm& comm,
McMd::AtomType& data,
int root);
static bool hasType
Is the MPI type initialized?
File containing preprocessor macros for error handling.
void serialize(Archive &ar, PairSelector &selector, const unsigned int version)
Serialize a PairSelector.
Descriptor for a type of Atom.
std::ostream & operator<<(std::ostream &out, const PairSelector &selector)
ostream inserter (<<) for a PairSelector object.
Utility classes for scientific computation.
int id() const
Get the index.
static MPI::Datatype type
MPI Datatype.
std::istream & operator>>(std::istream &in, PairSelector &selector)
istream extractor (>>) for a PairSelector object.
double mass() const
Get the mass.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
This file contains templates for global functions send<T>, recv<T> and bcast<T>.
double charge() const
Get the electrical charge value.
const std::string & name() const
Get the name string.
bool hasCharge() const
Does this type have a charge value?
#define UTIL_ASSERT(condition)
Assertion macro suitable for debugging serial or parallel code.