File indexing completed on 2023-10-25 09:37:07
0001 #ifndef HcalMCParam_h
0002 #define HcalMCParam_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "CondFormats/Serialization/interface/Serializable.h"
0011 #include <cstdint>
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 class HcalMCParam {
0030 public:
0031 HcalMCParam() : mId(0), mParam1(0) {}
0032
0033 HcalMCParam(unsigned long fId, unsigned int fParam1) : mId(fId), mParam1(fParam1) {}
0034
0035 uint32_t rawId() const { return mId; }
0036
0037 unsigned int param1() const { return mParam1; }
0038 unsigned int signalShape() const { return mParam1 & 0x1FF; }
0039 bool syncPhase() const { return (mParam1 >> 9) & 0x1; }
0040 unsigned int binOfMaximum() const { return (mParam1 >> 10) & 0xF; }
0041 float timePhase() const { return ((mParam1 >> 14) & 0xFF) / 4.0 - 32.0; }
0042 bool timeSmearing() const { return (mParam1 >> 22) & 0x1; }
0043 unsigned int packingScheme() const { return (mParam1 >> 27) & 0xF; }
0044
0045 private:
0046 uint32_t mId;
0047 uint32_t mParam1;
0048
0049 COND_SERIALIZABLE;
0050 };
0051
0052 #endif