YAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BlattWeisskopf.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_BlattWeisskopf_h
22 #define yap_BlattWeisskopf_h
23 
24 #include "fwd/DataPartition.h"
25 #include "fwd/DataPoint.h"
26 #include "fwd/DecayingParticle.h"
27 #include "fwd/CachedValue.h"
28 #include "fwd/Model.h"
29 #include "fwd/ParticleCombination.h"
30 #include "fwd/StatusManager.h"
31 
32 #include "AmplitudeComponent.h"
34 
35 #include <complex>
36 #include <memory>
37 #include <string>
38 
39 namespace yap {
40 
44 
48 {
49 public:
50 
54  BlattWeisskopf(unsigned L, DecayingParticle* dp);
55 
57  unsigned L() const
58  { return L_; }
59 
63  virtual const std::complex<double> value(const DataPoint& d, const std::shared_ptr<ParticleCombination>& pc) const override;
64 
67  virtual void calculate(DataPartition& D) const override;
68 
70  virtual void updateCalculationStatus(StatusManager& D) const override;
71 
73  virtual bool consistent() const
74  { return DataAccessor::consistent(); }
75 
77  const Model* model() const override;
78 
79  const DecayingParticle* decayingParticle() const
80  { return DecayingParticle_; }
81 
83  friend class DecayingParticle;
84 
85 protected:
86 
88  void addParticleCombination(std::shared_ptr<ParticleCombination> pc) override;
89 
90 private:
91 
94 
96  unsigned L_;
97 
99  std::shared_ptr<RealCachedValue> BarrierFactor_;
100 
101 };
102 
107 const double squared_barrier_factor(unsigned l, double z);
108 }
109 
110 #endif
virtual void updateCalculationStatus(StatusManager &D) const override
update the calculationStatus for a DataPartition
Definition: BlattWeisskopf.cxx:113
Definition: RequiresMeasuredBreakupMomenta.h:30
virtual const std::complex< double > value(const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const override
Definition: BlattWeisskopf.cxx:77
BlattWeisskopf(unsigned L, DecayingParticle *dp)
Definition: BlattWeisskopf.cxx:51
virtual void calculate(DataPartition &D) const override
Definition: BlattWeisskopf.cxx:83
Definition: AmplitudeComponent.h:82
Class for holding data and cached values per data point for fast calculation.
Definition: DataPoint.h:35
Class implementing BlattWeisskopf barrier factors.
Definition: BlattWeisskopf.h:45
unsigned L_
angular momentum
Definition: BlattWeisskopf.h:96
bool consistent() const
Check consistency of object.
Definition: DataAccessor.cxx:31
Class defining a partition of the DataSet.
Definition: DataPartition.h:158
const double squared_barrier_factor(unsigned l, double z)
Definition: BlattWeisskopf.cxx:17
Definition: StatusManager.h:32
Class implementing a PWA model.
Definition: Model.h:56
void addParticleCombination(std::shared_ptr< ParticleCombination > pc) override
override to throw on adding non-two-body PC
Definition: BlattWeisskopf.cxx:126
unsigned L() const
Definition: BlattWeisskopf.h:57
virtual bool consistent() const
check consistency of object
Definition: BlattWeisskopf.h:73
Definition: DecayingParticle.h:51
const Model * model() const override
Definition: BlattWeisskopf.cxx:120
DecayingParticle * DecayingParticle_
raw pointer to owning DecayingParticle
Definition: BlattWeisskopf.h:93
std::shared_ptr< RealCachedValue > BarrierFactor_
Blatt-Weisskopf barrier factor.
Definition: BlattWeisskopf.h:99