11#include "PolymerType.h"
12#include "PolymerModel.h"
13#include <util/containers/Pair.h>
78 template <
class Archive>
79 void serialize(Archive& ar,
unsigned int versionId);
207 PolymerType::Enum polymerType_;
285 {
return monomerId_; }
291 {
return vertexIds_; }
297 {
return vertexIds_[i]; }
321 {
return polymerType_; }
326 template <
class Archive>
Descriptor for a block within a block polymer.
virtual void setNBead(int nBead)
Set the number of beads in this block (only valid for bead model).
int id() const
Get the id of this block (unique within the polymer).
void setPolymerType(PolymerType::Enum type)
Set the type of the parent polymer (branched or linear).
PolymerType::Enum polymerType() const
Get the type of the parent polymer (branched or linear).
friend std::istream & operator>>(std::istream &in, Edge &block)
Input stream extractor (>>) for a Edge.
void setVertexIds(int vertexId0, int vertexId1)
Set indices of associated vertices.
const Pair< int > & vertexIds() const
Get the pair of associated vertex ids.
friend std::ostream & operator<<(std::ostream &out, const Edge &block)
Output stream inserter (<<) for a Edge.
int nBead() const
Get the number of beads in this block, in the bead model.
virtual void setLength(double length)
Set the length of this block (only valid for thread model).
void serialize(Archive &ar, unsigned int versionId)
Serialize to/from archive.
int monomerId() const
Get the monomer type id for this block.
virtual ~Edge()
Destructor.
int vertexId(int i) const
Get the id of one associated vertex.
void setMonomerId(int monomerId)
Set the monomer type id.
void setId(int id)
Set the id for this block.
double length() const
Get the length of this block, in the thread model.
An array of exactly 2 objects.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
bool isThread()
Is the thread model in use ?
bool isBead()
Is the bead model in use ?
PSCF package top-level namespace.
std::istream & operator>>(std::istream &in, Pair< Data > &pair)
Input a Pair from an istream.
std::ostream & operator<<(std::ostream &out, const Pair< Data > &pair)
Output a Pair to an ostream, without line breaks.