Greens-code
A modular quantum transport code
Friends | List of all members
concrete_pencil< pencil_impl > Class Template Reference

pencil_impl is the base class for all pencils More...

#include <pencils.hpp>

Inheritance diagram for concrete_pencil< pencil_impl >:
Inheritance graph
[legend]
Collaboration diagram for concrete_pencil< pencil_impl >:
Collaboration graph
[legend]

Friends

class pencil
 

Additional Inherited Members

- Public Types inherited from pencil
typedef std::unique_ptr< pencilref
 
- Public Member Functions inherited from pencil
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?
 
- Static Public Member Functions inherited from pencil
template<class pencil_impl >
static std::unique_ptr< pencilget_pencil (const pencil_impl &p)
 

Detailed Description

template<class pencil_impl>
class concrete_pencil< pencil_impl >

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;


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