Vlasiator
ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
projectTriAxisSearch.h
Go to the documentation of this file.
1
/*
2
* This file is part of Vlasiator.
3
* Copyright 2010-2016 Finnish Meteorological Institute
4
*
5
* For details of usage, see the COPYING file and read the "Rules of the Road"
6
* at http://www.physics.helsinki.fi/vlasiator/
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License along
19
* with this program; if not, write to the Free Software Foundation, Inc.,
20
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
*/
22
#ifndef TRIAXISSEARCH_H
23
#define TRIAXISSEARCH_H
24
25
#include "
project.h
"
26
27
namespace
projects
{
28
class
TriAxisSearch
:
public
Project
{
29
public
:
30
31
protected
:
40
virtual
uint
findBlocksToInitialize
(
spatial_cell::SpatialCell
* cell,
const
uint popID)
const
;
41
42
/* Evaluates local SpatialCell properties for the project and population,
43
then evaluates the phase-space density at the given coordinates.
44
*/
45
virtual
Realf
probePhaseSpace
(
spatial_cell::SpatialCell
*cell,
46
const
uint popID,
47
Real
vx_in,
Real
vy_in,
Real
vz_in)
const
= 0;
48
56
virtual
std::vector<std::array<Real, 3>>
getV0
(
57
creal
x,
58
creal
y,
59
creal
z,
60
const
uint popID
61
)
const
= 0;
62
};
// class TriAxisSearch
63
}
// namespace
64
65
66
#endif
projects::Project::Project
Project()
Definition
project.cpp:69
projects::TriAxisSearch
Definition
projectTriAxisSearch.h:28
projects::TriAxisSearch::findBlocksToInitialize
virtual uint findBlocksToInitialize(spatial_cell::SpatialCell *cell, const uint popID) const
Find blocks above the threshold centred isotropically around a bulk velocity.
Definition
projectTriAxisSearch.cpp:34
projects::TriAxisSearch::getV0
virtual std::vector< std::array< Real, 3 > > getV0(creal x, creal y, creal z, const uint popID) const =0
Return a vector containing the velocity coordinate of the centre of each ion population in the distri...
projects::TriAxisSearch::probePhaseSpace
virtual Realf probePhaseSpace(spatial_cell::SpatialCell *cell, const uint popID, Real vx_in, Real vy_in, Real vz_in) const =0
spatial_cell::SpatialCell
Definition
spatial_cell_cpu.hpp:235
Real
float Real
Definition
definitions.h:41
Realf
float Realf
Definition
definitions.h:33
creal
const float creal
Definition
definitions.h:42
projects
Definition
object_wrapper.h:30
project.h
projects
projectTriAxisSearch.h
Generated on
for Vlasiator by
1.16.1