OPAL (Object Oriented Parallel Accelerator Library)
2022.1
OPAL
src
ippl
src
DataSource
FilePtclAttribDataSource.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
/***************************************************************************
3
*
4
* The IPPL Framework
5
*
6
*
7
* Visit http://people.web.psi.ch/adelmann/ for more details
8
*
9
***************************************************************************/
10
11
#ifndef FILE_PARTICLE_ATTRIB_DATA_SOURCE_H
12
#define FILE_PARTICLE_ATTRIB_DATA_SOURCE_H
13
14
/***********************************************************************
15
*
16
* class FileParticleAttribDataSource
17
*
18
* A specific version of DataSourceObject which takes the data for
19
* a given ParticleAttrib and writes it to a file using a DiscParticle
20
* object.
21
*
22
***********************************************************************/
23
24
// include files
25
#include "
DataSource/DataSourceObject.h
"
26
#include "
Particle/ParticleAttrib.h
"
27
#include "
Utility/DiscParticle.h
"
28
29
30
template
<
class
T>
31
class
FileParticleAttribDataSource
:
public
DataSourceObject
{
32
33
public
:
34
// constructor: the name, the connection, the transfer method,
35
// the ParticleAttrib to connect
36
FileParticleAttribDataSource
(
const
char
*,
DataConnect
*,
int
,
37
ParticleAttrib<T>
&);
38
39
// destructor
40
virtual
~FileParticleAttribDataSource
();
41
42
//
43
// virtual function interface.
44
//
45
46
// Update the object, that is, make sure the receiver of the data has a
47
// current and consistent snapshot of the current state. Return success.
48
virtual
bool
update
();
49
50
// Indicate to the receiver that we're allowing them time to manipulate the
51
// data (e.g., for a viz program, to rotate it, change representation, etc.)
52
// This should only return when the manipulation is done.
53
virtual
void
interact
(
const
char
* = 0);
54
55
private
:
56
// the DiscParticle object, which read/writes the data
57
DiscParticle
*
DP
;
58
59
// the ParticleAttrib to read into (or write from)
60
ParticleAttrib<T>
&
MyParticles
;
61
62
// the number of frames we have read or written (i.e. or current record)
63
int
counter
;
64
};
65
66
#include "
DataSource/FilePtclAttribDataSource.hpp
"
67
68
#endif
// FILE_PARTICLE_ATTRIB_DATA_SOURCE_H
69
70
/***************************************************************************
71
* $RCSfile: FilePtclAttribDataSource.h,v $ $Author: adelmann $
72
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:25 $
73
* IPPL_VERSION_ID: $Id: FilePtclAttribDataSource.h,v 1.1.1.1 2003/01/23 07:40:25 adelmann Exp $
74
***************************************************************************/
DataSourceObject.h
FilePtclAttribDataSource.hpp
ParticleAttrib.h
DiscParticle.h
DataConnect
Definition:
DataConnect.h:32
DataSourceObject
Definition:
DataSourceObject.h:53
FileParticleAttribDataSource
Definition:
FilePtclAttribDataSource.h:31
FileParticleAttribDataSource::DP
DiscParticle * DP
Definition:
FilePtclAttribDataSource.h:57
FileParticleAttribDataSource::FileParticleAttribDataSource
FileParticleAttribDataSource(const char *, DataConnect *, int, ParticleAttrib< T > &)
Definition:
FilePtclAttribDataSource.hpp:37
FileParticleAttribDataSource::interact
virtual void interact(const char *=0)
Definition:
FilePtclAttribDataSource.hpp:90
FileParticleAttribDataSource::~FileParticleAttribDataSource
virtual ~FileParticleAttribDataSource()
Definition:
FilePtclAttribDataSource.hpp:62
FileParticleAttribDataSource::update
virtual bool update()
Definition:
FilePtclAttribDataSource.hpp:73
FileParticleAttribDataSource::MyParticles
ParticleAttrib< T > & MyParticles
Definition:
FilePtclAttribDataSource.h:60
FileParticleAttribDataSource::counter
int counter
Definition:
FilePtclAttribDataSource.h:63
ParticleAttrib
Definition:
ParticleAttrib.h:100
DiscParticle
Definition:
DiscParticle.h:30
Generated on Thu Oct 20 2022 17:40:07 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.3