hemocell
Loading...
Searching...
No Matches
bindingField.h
Go to the documentation of this file.
1/*
2This file is part of the HemoCell library
3
4HemoCell is developed and maintained by the Computational Science Lab
5in the University of Amsterdam. Any questions or remarks regarding this library
6can be sent to: info@hemocell.eu
7
8When using the HemoCell library in scientific work please cite the
9corresponding paper: https://doi.org/10.3389/fphys.2017.00563
10
11The HemoCell library is free software: you can redistribute it and/or
12modify it under the terms of the GNU Affero General Public License as
13published by the Free Software Foundation, either version 3 of the
14License, or (at your option) any later version.
15
16The library is distributed in the hope that it will be useful,
17but WITHOUT ANY WARRANTY; without even the implied warranty of
18MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19GNU Affero General Public License for more details.
20
21You should have received a copy of the GNU Affero General Public License
22along with this program. If not, see <http://www.gnu.org/licenses/>.
23*/
24#ifndef HEMO_BINDING_FIELD_H
25#define HEMO_BINDING_FIELD_H
26
28#include "multiBlock/multiDataField3D.h"
29
30namespace hemo {
32 public:
34 static bindingFieldHelper instance(&cellFields);
35 return instance;
36 }
37
38 void checkpoint();
39 static void restore(HemoCellFields & cellFields);
40
41 //Called within functional, from particlefield
42 void add(HemoCellParticleField & pf, const Dot3D & bindingSite);
43 void add(HemoCellParticleField & pf, const vector<Dot3D> & bindingSites);
44 void remove(HemoCellParticleField & pf, const Dot3D & bindingSite);
45 void remove(HemoCellParticleField & pf, const vector<Dot3D> & bindingSites);
46
47 private:
49 plb::MultiScalarField3D<bool> * multiBindingField = 0;
50
53
54 void refillBindingSites();
55
56 //Singleton Behaviour
57 public:
59 void operator=(bindingFieldHelper const&) = delete;
60 };
61}
62#endif
Definition hemoCellFields.h:53
Definition hemoCellParticleField.h:39
Definition bindingField.h:31
plb::MultiScalarField3D< bool > * multiBindingField
Definition bindingField.h:49
static bindingFieldHelper & get(HemoCellFields &cellFields)
Definition bindingField.h:33
HemoCellFields & cellFields
Definition bindingField.h:48
bindingFieldHelper(bindingFieldHelper const &)=delete
void refillBindingSites()
Definition bindingField.cpp:124
static void restore(HemoCellFields &cellFields)
Definition bindingField.cpp:84
void checkpoint()
Definition bindingField.cpp:66
void operator=(bindingFieldHelper const &)=delete
void add(HemoCellParticleField &pf, const Dot3D &bindingSite)
Definition bindingField.cpp:102
~bindingFieldHelper()
Definition bindingField.cpp:62
void remove(HemoCellParticleField &pf, const Dot3D &bindingSite)
Definition bindingField.cpp:113
Definition config.cpp:34