18 : mPItems(
src.mPItems), mPItemsByType(
src.mPItemsByType) {}
43 if (
type == iter->type_)
56 int type,
int pixels,
float parLin1,
float parLin2,
float parLin3,
float crossTalk,
int auxi1,
float auxi2) {
58 auto iter = mPItems.find(
target);
59 if (iter != mPItems.end()) {
60 edm::LogWarning(
"HCAL") <<
"HcalSiPMCharacteristics::loadObject type " <<
type <<
" already exists with pixels " 61 << iter->pixels_ <<
" NoLinearity parameters " << iter->parLin1_ <<
":" << iter->parLin2_
62 <<
":" << iter->parLin3_ <<
" CrossTalk parameter " << iter->crossTalk_ <<
" new values " 63 << pixels <<
", " << parLin1 <<
", " << parLin2 <<
", " << parLin3 <<
", " << crossTalk
64 <<
", " << auxi1 <<
" and " << auxi2 <<
" are ignored";
79 std::vector<float> pars;
82 pars.push_back(
item->parLin1_);
83 pars.push_back(
item->parLin2_);
84 pars.push_back(
item->parLin3_);
91 return (
item ?
item->crossTalk_ : 0);
105 HcalObjectAddons::sortByT<PrecisionItem, HcalSiPMCharacteristicsAddons::LessByType>(mPItems, mPItemsByType);
int getAuxi1(int type) const
get auxiliary words
~HcalSiPMCharacteristics()
const PrecisionItem * findByType(int type) const
std::vector< float > getNonLinearities(int type) const
get nonlinearity constants
float getAuxi2(int type) const
HcalSiPMCharacteristics()
void swap(HcalSiPMCharacteristics &other)
HcalSiPMCharacteristics & operator=(const HcalSiPMCharacteristics &rhs)
float getCrossTalk(int type) const
get cross talk
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
bool loadObject(int type, int pixels, float parLin1, float parLin2, float parLin3, float crossTalk, int auxi1=0, float auxi2=0)
int getPixels(int type) const
get # of pixels
Log< level::Warning, false > LogWarning
std::vector< const PrecisionItem * > mPItemsByType
unsigned int getTypes() const
get # of types
std::vector< PrecisionItem > mPItems