Newer
Older
#pragma once
#include <iostream>
#include <vector>
#include <complex>
#include <map>
#include <string>
#include <boost/shared_ptr.hpp>
#include "PwaUtils/EvtDataBaseList.hh"
#include "PwaUtils/FitParamsBase.hh"
class AbsLh {
public:
AbsLh(boost::shared_ptr<const EvtDataBaseList>);
AbsLh(boost::shared_ptr<AbsLh>);
virtual ~AbsLh();
virtual AbsLh* clone_() const =0;
virtual double calcLogLh(fitParams& theParamVal);
virtual double calcEvtIntensity(EvtData* theData, fitParams& theParamVal)=0;
virtual boost::shared_ptr<const EvtDataBaseList> getEventList() const {return _evtListPtr;}
virtual void getDefaultParams(fitParams& fitVal, fitParams& fitErr)=0;
virtual void print(std::ostream& os) const=0;
protected:
boost::shared_ptr<const EvtDataBaseList> _evtListPtr;
std::vector<EvtData*> _evtDataVec;
std::vector<EvtData*> _evtMCVec;
std::map<const std::string, bool> _hypMap;
virtual void setHyps( const std::map<const std::string, bool>& theMap,
bool& theHyp, std::string& theKey);