YAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FreeAmplitude.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_FreeAmplitude_h
22 #define yap_FreeAmplitude_h
23 
24 #include "fwd/FreeAmplitude.h"
25 
26 #include "fwd/DecayChannel.h"
27 #include "fwd/Model.h"
28 #include "fwd/DataAccessor.h"
29 #include "fwd/ParticleCombination.h"
30 #include "fwd/SpinAmplitude.h"
31 
32 #include "Parameter.h"
33 
34 #include <complex>
35 #include <string>
36 
37 namespace yap {
38 
49 {
50 public:
51 
57  FreeAmplitude(std::shared_ptr<DecayChannel> dc, std::shared_ptr<SpinAmplitude> sa,
58  int two_m, std::complex<double> a = 1);
59 
61  const std::shared_ptr<DecayChannel>& decayChannel() const
62  { return DecayChannel_; }
63 
65  const std::shared_ptr<SpinAmplitude>& spinAmplitude() const
66  { return SpinAmplitude_; }
67 
69  const int twoM() const
70  { return TwoM_; }
71 
73  const ParticleCombinationSet& particleCombinations() const;
74 
76  const Model* model() const;
77 
78  using ComplexParameter::operator=;
79 
80 private:
81 
83  std::shared_ptr<DecayChannel> DecayChannel_;
84 
86  std::shared_ptr<SpinAmplitude> SpinAmplitude_;
87 
89  int TwoM_;
90 };
91 
93 std::string to_string(const FreeAmplitude& fa);
94 
95 }
96 
97 #endif
const std::shared_ptr< DecayChannel > & decayChannel() const
Definition: FreeAmplitude.h:61
int TwoM_
(twice) spin projection of decaying particle
Definition: FreeAmplitude.h:89
Stores complex free amplitude for the particular decay of a particle.
Definition: FreeAmplitude.h:48
std::shared_ptr< DecayChannel > DecayChannel_
DecayChannel for which this is a free amplitude.
Definition: FreeAmplitude.h:83
std::shared_ptr< SpinAmplitude > SpinAmplitude_
SpinAmplitude for which this is a free amplitude.
Definition: FreeAmplitude.h:86
const int twoM() const
Definition: FreeAmplitude.h:69
Class implementing a PWA model.
Definition: Model.h:56
const std::shared_ptr< SpinAmplitude > & spinAmplitude() const
Definition: FreeAmplitude.h:65
std::string to_string(const CachedValue::Status &S)
streaming operator for CachedValue::Status
Definition: CachedValue.cxx:27
Definition: Parameter.h:170
const ParticleCombinationSet & particleCombinations() const
Definition: FreeAmplitude.cxx:40
FreeAmplitude(std::shared_ptr< DecayChannel > dc, std::shared_ptr< SpinAmplitude > sa, int two_m, std::complex< double > a=1)
Definition: FreeAmplitude.cxx:13
const Model * model() const
Definition: FreeAmplitude.cxx:34