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
27namespace 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 */
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
virtual uint findBlocksToInitialize(spatial_cell::SpatialCell *cell, const uint popID) const
Find blocks above the threshold centred isotropically around a bulk velocity.
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...
virtual Realf probePhaseSpace(spatial_cell::SpatialCell *cell, const uint popID, Real vx_in, Real vy_in, Real vz_in) const =0
float Real
Definition definitions.h:41
float Realf
Definition definitions.h:33
const float creal
Definition definitions.h:42