1 #ifndef CondFormatsHcalObjectsHcalSiPMCharacteristics_h 2 #define CondFormatsHcalObjectsHcalSiPMCharacteristics_h 9 #include <boost/cstdint.hpp> 10 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 26 parLin1_= parLin2_=parLin3_=crossTalk_=auxi2_=0;
29 float parLin3,
float crossTalk,
int auxi1,
float auxi2) :
30 type_(type), pixels_(pixels), parLin1_(parLin1), parLin2_(parLin2),
31 parLin3_(parLin3), crossTalk_(crossTalk), auxi1_(auxi1), auxi2_(auxi2) {}
56 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 61 unsigned int getTypes()
const {
return mPItems.size();}
62 int getType(
unsigned int k)
const {
return mPItems[
k].type_;}
64 int getPixels(
int type)
const;
66 std::vector<float> getNonLinearities(
int type)
const;
68 float getCrossTalk(
int type)
const;
70 int getAuxi1(
int type)
const;
71 float getAuxi2(
int type)
const;
99 bool loadObject(
int type,
int pixels,
float parLin1,
100 float parLin2,
float parLin3,
float crossTalk,
101 int auxi1=0,
float auxi2=0);
103 std::set<HcalSiPMCharacteristics::PrecisionItem,LessByType>
mPItems;
static AlgebraicMatrix initialize()
bool equal(const HcalSiPMCharacteristics::PrecisionItem *a, const HcalSiPMCharacteristics::PrecisionItem *b)
bool good(const HcalSiPMCharacteristics::PrecisionItem &a)
PrecisionItem(int type, int pixels, float parLin1, float parLin2, float parLin3, float crossTalk, int auxi1, float auxi2)
HcalSiPMCharacteristics()
void swap(Association< C > &lhs, Association< C > &rhs)
unsigned int getTypes() const
get # of types
std::set< HcalSiPMCharacteristics::PrecisionItem, LessByType > mPItems
int getType(unsigned int k) const
#define COND_SERIALIZABLE
std::vector< PrecisionItem > mPItems