Skip to content
Snippets Groups Projects
AbsLh.hh 1 KiB
Newer Older
Bertram Kopf's avatar
Bertram Kopf committed

#include <iostream>
#include <vector>
#include <complex>
#include <map>
#include <string>
Bertram Kopf's avatar
Bertram Kopf committed
#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;
Bertram Kopf's avatar
Bertram Kopf committed

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);
Bertram Kopf's avatar
Bertram Kopf committed
};