Free Electron
DensityField.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __field_DensityField_h__
8 #define __field_DensityField_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 class FE_DL_EXPORT DensityFieldI : virtual public Component
15 {
16  public:
17 virtual void inject(const Real &a_amount, const SpatialVector &a_loc) = 0;
18 };
19 
20 /** Interprets scalar field values as density
21  */
22 class FE_DL_EXPORT DensityField :
23  virtual public GridScalarField,
24  virtual public DensityFieldI
25 {
26  public:
27  DensityField(void);
28 virtual ~DensityField(void);
29 
30  /// inject amount
31 virtual void inject(const Real &a_amount, const SpatialVector &a_loc);
32 
33  private:
34 
35 };
36 
37 } /* namespace ext */
38 } /* namespace fe */
39 
40 
41 #endif /* __field_DensityField_h__ */
42 
kernel
Definition: namespace.dox:3
Interprets scalar field values as density.
Definition: DensityField.h:22
A ScalarFieldI implementation using a Continuum (grid of points)
Definition: GridScalarField.h:21