YAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RecalculableDataAccessor.h
Go to the documentation of this file.
1 /* YAP - Yet another PWA toolkit
2  Copyright 2015, Technische Universitaet Muenchen,
3  Authors: Daniel Greenwald, Johannes Rauch
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
20 
21 #ifndef yap_RecalculableDataAccessor_h
22 #define yap_RecalculableDataAccessor_h
23 
24 #include "fwd/RecalculableDataAccessor.h"
25 
26 #include "fwd/DataPartition.h"
27 #include "fwd/DataPoint.h"
28 #include "fwd/Parameter.h"
29 #include "fwd/ParticleCombination.h"
30 #include "fwd/StatusManager.h"
31 #include "fwd/VariableStatus.h"
32 
33 #include "DataAccessor.h"
34 #include "VariableStatus.h"
35 
36 #include <complex>
37 #include <memory>
38 #include <set>
39 
40 namespace yap {
41 
45 {
46 public:
49  explicit RecalculableDataAccessor(const ParticleCombinationEqualTo& equal)
50  : DataAccessor(equal) {}
51 
54  virtual void calculate(DataPartition& D) const = 0;
55 
57  virtual void updateCalculationStatus(StatusManager& D) const = 0;
58 
61 
63  const ParameterSet& parameters() const
64  { return Parameters_; }
65 
66 protected:
67 
69  void virtual registerWithModel() override;
70 
72  void addParameter(std::shared_ptr<ParameterBase> p)
73  { Parameters_.insert(p); }
74 
75 private:
76 
78  ParameterSet Parameters_;
79 
80 };
81 
82 }
83 
84 #endif
const ParticleCombinationEqualTo & equal() const
Definition: DataAccessor.h:47
ParameterSet Parameters_
Parameters of object.
Definition: RecalculableDataAccessor.h:78
virtual void updateCalculationStatus(StatusManager &D) const =0
update the calculationStatus for a DataPartition
virtual void calculate(DataPartition &D) const =0
RecalculableDataAccessor(const ParticleCombinationEqualTo &equal)
Definition: RecalculableDataAccessor.h:49
void setParameterFlagsToUnchanged()
set VariableStatus of all Parameters to unchanged (or leave fixed)
Definition: RecalculableDataAccessor.cxx:9
Class defining a partition of the DataSet.
Definition: DataPartition.h:158
Definition: StatusManager.h:32
Abstract base class for all objects accessing DataPoint's.
Definition: DataAccessor.h:38
const ParameterSet & parameters() const
Definition: RecalculableDataAccessor.h:63
void addParameter(std::shared_ptr< ParameterBase > p)
add a parameter for evaluating variableStatus
Definition: RecalculableDataAccessor.h:72
Definition: RecalculableDataAccessor.h:44
virtual void registerWithModel() override
register with Model
Definition: RecalculableDataAccessor.cxx:17