10 : mPItems(helper.mPItems.
begin(), helper.mPItems.
end()) {
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";
67 mPItems.insert(target);
74 return (item ? item->
pixels_ : 0);
79 std::vector<float> pars;
95 return (item ? item->
auxi1_ : 0);
100 return (item ? item->
auxi2_ : 0);
104 HcalObjectAddons::sortByT<PrecisionItem, HcalSiPMCharacteristicsAddons::LessByType>(mPItems, mPItemsByType);
~HcalSiPMCharacteristics()
HcalSiPMCharacteristics()
void swap(HcalSiPMCharacteristics &other)
float getCrossTalk(int type) const
get cross talk
HcalSiPMCharacteristics & operator=(const HcalSiPMCharacteristics &rhs)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
const PrecisionItem * findByType(int type) const
unsigned int getTypes() const
get # of types
int getAuxi1(int type) const
get auxiliary words
bool loadObject(int type, int pixels, float parLin1, float parLin2, float parLin3, float crossTalk, int auxi1=0, float auxi2=0)
std::vector< float > getNonLinearities(int type) const
get nonlinearity constants
float getAuxi2(int type) const
Log< level::Warning, false > LogWarning
std::vector< const PrecisionItem * > mPItemsByType
int getPixels(int type) const
get # of pixels
std::vector< PrecisionItem > mPItems