IMP logo
IMP Reference Guide  develop.d97d4ead1f,2024/11/21
The Integrative Modeling Platform
SlabWithToroidalPoreGeometry.h
Go to the documentation of this file.
1 /**
2  * \file IMP/npc/SlabWithToroidalPoreGeometry.h
3  * \brief A decorator for a particle representing a toroidal pore
4  *
5  * Copyright 2007-8 Sali Lab. All rights reserved.
6  */
7 
8 #ifndef IMPNPC_SLAB_WITH_TOROIDAL_PORE_GEOMETRY_H
9 #define IMPNPC_SLAB_WITH_TOROIDAL_PORE_GEOMETRY_H
10 
11 #include "npc_config.h"
12 #include <IMP/display/geometry.h>
14 
15 IMPNPC_BEGIN_NAMESPACE
16 
17 //! A decorator for a particle that represents a toroidal pore.
18 /** \ingroup helper
19  \ingroup decorators
20 */
22  double rv_; // minor radius in vertical direction (vertical semi-axis)
23  double rh_; // minor radius in horizontal direction (horizontal semi-axis)
24  double R_; // major radius
25  double slab_length_; // length of slab edge
26 
27  public:
28  //! Slab with specified height from top to bottom, slab_length x slab_length area,
29  //! and an elliptic toroidal pore of specified major radius,
30  //! slab_height/2.0 vertical semi-axis, specified horizontal semi-axis
31  SlabWithToroidalPoreWireGeometry(double slab_height,
32  double major_radius,
33  double horizontal_semiaxis,
34  double slab_length);
35 
36  //! Slab with specified height from top to bottom, slab_length x slab_length area,
37  //! and a ring toroidal pore of specified major radius and slab_height/2.0 minor radius
38  SlabWithToroidalPoreWireGeometry(double slab_height, double major_radius, double slab_length);
39 
40  //! returns the set of geometric components that comprise this geometry
41  //! (for e.g. storing in RMF format)
42  virtual IMP::display::Geometries get_components() const override;
43 
45 };
46 
47 
48 IMPNPC_END_NAMESPACE
49 
50 #endif /* IMPNPC_SLAB_WITH_TOROIDAL_PORE_GEOMETRY_H */
The base class for geometry.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
macros for display classes
virtual Geometries get_components() const
Return a set of geometry composing this one.
A decorator for a particle that represents a toroidal pore.
Backwards compatibility header.