Something went wrong on our end
-
Bertram Kopf authored12104135
pbarpBaseLh.hh 2.52 KiB
// pbarpBaseLh class definition file. -*- C++ -*-
// Copyright 2012 Bertram Kopf
#pragma once
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <complex>
#include <boost/shared_ptr.hpp>
#include <boost/function.hpp>
#include "qft++/topincludes/relativistic-quantum-mechanics.hh"
#include "PwaUtils/AbsLh.hh"
#include "PwaUtils/DataUtils.hh"
#include "Minuit2/MnUserParameters.h"
class AbsXdecAmp;
class pbarpReaction;
class LSDecAmps;
class pbarpBaseLh : public AbsLh {
public:
pbarpBaseLh(boost::shared_ptr<const EvtDataBaseList>);
virtual ~pbarpBaseLh();
virtual AbsLh* clone_() const {
return new pbarpBaseLh(_evtListPtr);
}
virtual double calcEvtIntensity( EvtData* theData, fitParams& theParamVal);
virtual void getDefaultParams(fitParams& fitVal, fitParams& fitErr);
virtual void print(std::ostream& os) const;
protected:
bool _usePhasespace;
const std::string _phasespaceKey;
boost::shared_ptr<pbarpReaction> _pbarpReactionPtr;
std::vector< boost::shared_ptr<const JPCLS> > _jpclsStates;
std::vector< boost::shared_ptr<LSDecAmps> > _decAmps;
std::map <boost::shared_ptr<const JPCLS>, std::vector< boost::shared_ptr<LSDecAmps> >, pawian::Collection::SharedPtrLess > _decAmpsSinglet;
std::map <boost::shared_ptr<const JPCLS>, std::vector< boost::shared_ptr<LSDecAmps> >, pawian::Collection::SharedPtrLess > _decAmpsTriplet0;
std::map <boost::shared_ptr<const JPCLS>, std::vector< boost::shared_ptr<LSDecAmps> >, pawian::Collection::SharedPtrLess > _decAmpsTripletp1;
std::map <boost::shared_ptr<const JPCLS>, std::vector< boost::shared_ptr<LSDecAmps> >, pawian::Collection::SharedPtrLess > _decAmpsTripletm1;
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > _currentParamMags;
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > _currentParamPhis;
int _highestJFsp;
bool _isHighestJaPhoton;
virtual void checkParamVariation(fitParams& theParamVal);
virtual void updateFitParams(fitParams& theParamVal);
virtual void cacheTheAmps();
private:
// void getDefaultParams(const std::vector<std::string>& hyps,
// std::vector< boost::shared_ptr<const JPCLS> > lsAmps,
// fitParams& fitVal, fitParams& fitErr);
void initialize();
void fillMap(std::vector< boost::shared_ptr<const JPCLS> >& pbarpLSs, std::vector<boost::shared_ptr<LSDecAmps> >& decs, std::map< boost::shared_ptr<const JPCLS>, std::vector<boost::shared_ptr<LSDecAmps> >, pawian::Collection::SharedPtrLess >& toFill);
};