Pteros  2.0
Molecular modeling library for human beings!
trajectory_processor_wrapper.h
1 /*
2  *
3  * This source code is part of
4  * ******************
5  * *** Pteros ***
6  * ******************
7  * molecular modeling library
8  *
9  * Copyright (c) 2009-2013, Semen Yesylevskyy
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of Artistic License:
13  *
14  * Please note, that Artistic License is slightly more restrictive
15  * then GPL license in terms of distributing the modified versions
16  * of this software (they should be approved first).
17  * Read http://www.opensource.org/licenses/artistic-license-2.0.php
18  * for details. Such license fits scientific software better then
19  * GPL because it prevents the distribution of bugged derivatives.
20  *
21 */
22 
23 #ifndef TRAJECTORY_PROCESSOR_WRAPPER_H
24 #define TRAJECTORY_PROCESSOR_WRAPPER_H
25 
26 #include "pteros/analysis/trajectory_processor.h"
27 #include "consumer_wrapper.h"
28 #include <boost/shared_ptr.hpp>
29 
30 namespace pteros {
31 
32 class Trajectory_processor_wrapper: public Trajectory_processor {
33 public:
34  void initialize();
35 
36  Trajectory_processor_wrapper();
37  Trajectory_processor_wrapper(const Options &opt);
38  ~Trajectory_processor_wrapper(){}
39 
40  virtual void pre_process() = 0;
41  virtual void process_frame(const Frame_info& info) = 0;
42  virtual void post_process(const Frame_info& info) = 0;
43 
44  System* get_system();
45  // Gets pointer to internal frame obtained from reader
46  Frame* get_frame_ptr();
47 
48 private:
49  boost::shared_ptr<Consumer_wrapper> cons_p;
50 };
51 
52 }
53 
54 #endif
Pteros namespace.
Definition: options.cpp:32