~esys-p-dev/esys-particle/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef __PARALLEL_INTERACTION_STORAGE_ED_H
#define __PARALLEL_INTERACTION_STORAGE_ED_H

//--- project includes ---
#include "pi_storage_e.h"

//--- STL includes ---
#include <vector>
using std::vector;

//--- IO includes ---

/*!
  \class ParallelInteractionStorage_ED
  \brief parallel storage array with exchange for dynamically created interactions (friction etc.)
*/
template<typename P,typename I>
class ParallelInteractionStorage_ED : public ParallelInteractionStorage_E<P,I>
{
 public:
  //  typedef I ParallelInteractionStorage_ED::interaction_type;

 protected:
  int m_update_timestamp;
  AParallelInteractionStorage* m_exIG; //<! if an interaction is in m_exIG, it can't be in m_interactions

 public:
  ParallelInteractionStorage_ED(AParallelParticleArray*,const typename I::ParameterType&);

  virtual void addExIG(AParallelInteractionStorage*);
  virtual bool update();
};

#include "pis/pi_storage_ed.hpp"

#endif // __PARALLEL_INTERACTION_STORAGE_ED_H