Greens-code
A modular quantum transport code
|
pencil_impl is the base class for all pencils More...
#include <pencils.hpp>
Friends | |
class | pencil |
Additional Inherited Members | |
![]() | |
typedef std::unique_ptr< pencil > | ref |
![]() | |
void | init_params (const STD_TR1::shared_ptr< const loadable_Object > &o) |
void | coloring (image_slice_coloring &isc, double min_x=-1., double max_x=-1.) |
const std::string & | name () const |
bool | should_draw (int point_layer, int drawing_layer) const |
should I draw a point on layer point_layer when drawing drawing_layer? | |
size_t | number_of_drawing_layers () const |
how many drawing layers are there? | |
![]() | |
template<class pencil_impl > | |
static std::unique_ptr< pencil > | get_pencil (const pencil_impl &p) |
pencil_impl is the base class for all pencils
To enable inline calling of the pencil_get_value routine color, concrete_pencil is a template that is instantiated for each different pencil, and can thus inline the calls
pencil_impl must implement the public routine
complex color(const complex value, wavefunction value const double dx x distance to image point const double dy y distance to image point const size_t pos index of point to be drawn (0 .. ny-1)
this is done by template instantiation for efficiency (yes, the difference matters, as color should be representable as inline function and is called about 10.000.000 times to color large structures)
void init_params( const STD_TR1::shared_ptr<const loadable_Object>& o); initialize parameters of pencil
bool update_at_every_slice() should the pencil get the current Hamiltonian at every slice?
const std::string& name(); return the Name of the pencil
void update(const geometry_const_iterator&); update the pencil to the current slice;