IMP logo
IMP Reference Guide  develop.ba5ef9f91e,2024/02/26
The Integrative Modeling Platform
IMP::npctransport::ParticleFactory Class Reference

Factory that produces diffusing particles with specified attributes. More...

#include <IMP/npctransport/ParticleFactory.h>

+ Inheritance diagram for IMP::npctransport::ParticleFactory:

Detailed Description

Factory that produces diffusing particles with specified attributes.

Definition at line 23 of file ParticleFactory.h.

Public Member Functions

 ParticleFactory (SimulationData *sd, double radius, double D_factor, double angular_D_factor, display::Color color, core::ParticleType type, std::string name="Particle factory %1%")
 
IMP::Particlecreate (std::string name="")
 
Modelget_model ()
 return model associated with this factory More...
 
double get_radius () const
 return radius of generated particles More...
 
SimulationDataget_simulation_data ()
 return SimulationData object associated with this factory More...
 
virtual std::string get_type_name () const override
 
virtual ::IMP::VersionInfo get_version_info () const override
 Get information about the module and version of the object. More...
 
- Public Member Functions inherited from IMP::Object
virtual void clear_caches ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Public Attributes

double angular_D_factor_
 
display::Color color_
 
double D_factor_
 
double radius_
 
IMP::WeakPointer< SimulationDatasd_
 
core::ParticleType type_
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Constructor & Destructor Documentation

IMP::npctransport::ParticleFactory::ParticleFactory ( SimulationData sd,
double  radius,
double  D_factor,
double  angular_D_factor,
display::Color  color,
core::ParticleType  type,
std::string  name = "Particle factory %1%" 
)

construct a factory that produces diffusing particles with specified attributes, with a default mass of 1.0

Parameters
sdthe simulation data whose model is associated with new particles
  • particles are decorated with a simulation data attribute to mark their owner
radiusparticle radius (A)
D_factordiffusion factor (relative to that auto-calculated from radius). If 0.0, no diffusion or angular diffusion is set up.
angular_D_factorangular diffusion factor (relative to that auto-calculated from radius times D_factor). If non-positive, do not setup angular rigid body diffusion (still set up Diffusion if D_factor>0.0)
colorcolor for new particles
typethe type of new particles
nameobject name

Definition at line 64 of file ParticleFactory.h.

Member Function Documentation

IMP::Particle* IMP::npctransport::ParticleFactory::create ( std::string  name = "")

create a particle as specified during construction. The particle is decorated with XYZR, RigidBodyDiffusion, Color and Typed decorator. In addition, a simulation data key is added to it pointing to this->sd_

Parameters
name- name of particle. If empty, the return value of this->type_.get_string() is used
Model* IMP::npctransport::ParticleFactory::get_model ( )

return model associated with this factory

Definition at line 93 of file ParticleFactory.h.

double IMP::npctransport::ParticleFactory::get_radius ( ) const

return radius of generated particles

Definition at line 103 of file ParticleFactory.h.

SimulationData* IMP::npctransport::ParticleFactory::get_simulation_data ( )

return SimulationData object associated with this factory

Definition at line 98 of file ParticleFactory.h.

virtual ::IMP::VersionInfo IMP::npctransport::ParticleFactory::get_version_info ( ) const
overridevirtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 106 of file ParticleFactory.h.

Member Data Documentation

double IMP::npctransport::ParticleFactory::angular_D_factor_

angular diffusion factor

Definition at line 36 of file ParticleFactory.h.

display::Color IMP::npctransport::ParticleFactory::color_

particle color

Definition at line 39 of file ParticleFactory.h.

double IMP::npctransport::ParticleFactory::D_factor_

diffusion factor

Definition at line 33 of file ParticleFactory.h.

double IMP::npctransport::ParticleFactory::radius_

particle radius (A)

Definition at line 30 of file ParticleFactory.h.

IMP::WeakPointer<SimulationData> IMP::npctransport::ParticleFactory::sd_

The simulation data whose model is associated with new particle

Definition at line 27 of file ParticleFactory.h.

core::ParticleType IMP::npctransport::ParticleFactory::type_

particle type

Definition at line 42 of file ParticleFactory.h.


The documentation for this class was generated from the following file: