OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
src
ippl
src
Particle
GenArrayParticle.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
/***************************************************************************
3
*
4
* The IPPL Framework
5
*
6
***************************************************************************/
7
8
#ifndef GEN_ARRAY_PARTICLE_H
9
#define GEN_ARRAY_PARTICLE_H
10
11
/*
12
* GenArrayParticle - Specialized Particle container for N data elements.
13
*
14
* GenArrayParticle is a special version of a IpplParticleBase class, specialized
15
* to have D-dimensional coordinates of type T1, and N extra data items of
16
* type T2.
17
*/
18
19
// include files
20
#include "
Particle/IpplParticleBase.h
"
21
22
23
// GenArrayParticle class definition
24
template
<
class
PLayout,
class
T,
unsigned
N>
25
class
GenArrayParticle
:
public
IpplParticleBase
<PLayout> {
26
27
public
:
28
// attributes for this class: an array with N attributes
29
ParticleAttrib<T>
data
[N];
30
31
// constructor: user-provided Layout object must be supplied
32
GenArrayParticle
(
PLayout
* L) :
IpplParticleBase
<
PLayout
>(L) {
33
for
(
unsigned
int
i = 0; i < N; i++)
34
this->
addAttribute
(data[i]);
35
}
36
37
private
:
38
// disable default constructor
39
GenArrayParticle
();
40
41
};
42
43
#endif
// GEN_ARRAY_PARTICLE_H
IpplParticleBase.h
ParticleAttrib
Definition:
ParticleAttrib.h:100
IpplParticleBase
Definition:
IpplParticleBase.h:126
IpplParticleBase::addAttribute
void addAttribute(ParticleAttribBase &pa)
Definition:
IpplParticleBase.h:231
GenArrayParticle
Definition:
GenArrayParticle.h:25
GenArrayParticle::data
ParticleAttrib< T > data[N]
Definition:
GenArrayParticle.h:29
GenArrayParticle::GenArrayParticle
GenArrayParticle()
GenArrayParticle::GenArrayParticle
GenArrayParticle(PLayout *L)
Definition:
GenArrayParticle.h:32
ParticleLayout
Definition:
ParticleLayout.h:54
Generated on Wed Aug 25 2021 16:40:59 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.1