Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef _OmegaPiLhGammaBw_H
#define _OmegaPiLhGammaBw_H
#include "Examples/pbarpToOmegaPi/OmegaPiLhGamma.hh"
class OmegaPiEventList;
class pbarpToOmegaPi0States;
class OmegaPiLhGammaBw : public OmegaPiLhGamma{
public:
// create/copy/destroy:
///Constructor
OmegaPiLhGammaBw(boost::shared_ptr<const OmegaPiEventList>, boost::shared_ptr<const pbarpToOmegaPi0States>);
OmegaPiLhGammaBw(boost::shared_ptr<OmegaPiLhGammaBw>);
/** Destructor */
virtual ~OmegaPiLhGammaBw();
virtual AbsOmegaPiLh* clone_() const{
return new OmegaPiLhGammaBw(_omegaPiEventListPtr, _omegaPi0StatesPtr);
}
// Getters:
virtual double calcLogLh(const OmegaPiData::fitParamVal& theParamVal);
virtual double calcEvtIntensity(OmegaPiData::OmPiEvtData* theData, const OmegaPiData::fitParamVal& theParamVal);
virtual complex<double> spinDensity(Spin M, Spin M_, OmegaPiData::OmPiEvtData* theData, const OmegaPiData::fitParamVal& theParamVal);
virtual void getFitParamVal(OmegaPiData::fitParamVal& theParamVal, const std::vector<double>& par) const;
virtual void setGenevaFitParamVal( boost::shared_ptr<Gem::Geneva::GConstrainedDoubleObjectCollection> theGbdc_ptr );
virtual void setMnUsrParams(MnUserParameters& upar);
virtual void setMnUsrParams(MnUserParameters& upar, OmegaPiData::fitParamVal &finalFitParm);
virtual void setMnUsrParams(MnUserParameters& upar, minuitStartParam &theStartParam);
virtual void dumpCurrentResult(std::ostream& os, const OmegaPiData::fitParamVal& fitParmVal) const;
virtual void printFitParams(std::ostream& os, const OmegaPiData::fitParamVal& fitParmVal);
virtual void print(std::ostream& os) const;
protected:
private:
virtual complex<double> calcCoherentAmp(Spin lam, Spin Minit, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& fitParm, double fitParmOmMass, double fitParmOmWidth, OmegaPiData::OmPiEvtData* theData);
complex<double> calcOmegaProdAmp(Spin Minit, Spin lamomega, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& fitParm, double fitParmOmMass, double fitParmOmWidth, OmegaPiData::OmPiEvtData* theData);
complex<double> calcOmegaProdPartAmp(Spin Minit, Spin lamomega, boost::shared_ptr<const JPCLS> theJPCLS, pair<double, double> fitVal, double fitParmOmMass, double fitParmOmWidth, OmegaPiData::OmPiEvtData* theData, unsigned int piGamCombi);
};
#endif