CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
CastorCalibrationQIECoder Class Reference

#include <CastorCalibrationQIECoder.h>

Public Member Functions

unsigned adc (const float fCharge) const
 fC -> ADC conversion More...
 
 CastorCalibrationQIECoder (unsigned long fId=0)
 
float charge (const unsigned fAdc) const
 ADC [0..31] -> fC conversion. More...
 
float minCharge (unsigned fBin) const
 
const float * minCharges () const
 
uint32_t rawId () const
 
void setMinCharge (unsigned fBin, float fValue)
 
void setMinCharges (const float fValue[32])
 

Private Member Functions

const float * base () const
 
float * base ()
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

float bin0
 
float bin1
 
float bin10
 
float bin11
 
float bin12
 
float bin13
 
float bin14
 
float bin15
 
float bin16
 
float bin17
 
float bin18
 
float bin19
 
float bin2
 
float bin20
 
float bin21
 
float bin22
 
float bin23
 
float bin24
 
float bin25
 
float bin26
 
float bin27
 
float bin28
 
float bin29
 
float bin3
 
float bin30
 
float bin31
 
float bin4
 
float bin5
 
float bin6
 
float bin7
 
float bin8
 
float bin9
 
uint32_t mId
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Detailed Description

Definition at line 17 of file CastorCalibrationQIECoder.h.

Constructor & Destructor Documentation

CastorCalibrationQIECoder::CastorCalibrationQIECoder ( unsigned long  fId = 0)
inline

Definition at line 19 of file CastorCalibrationQIECoder.h.

19 : mId (fId) {}

Member Function Documentation

unsigned CastorCalibrationQIECoder::adc ( const float  fCharge) const

fC -> ADC conversion

Definition at line 19 of file CastorCalibrationQIECoder.cc.

References base(), and data.

19  {
20  const float* data = base ();
21  unsigned adc = 1;
22  for (; adc < 32; adc++) {
23  if (fCharge < data[adc]) return adc-1;
24  }
25  return 31; // overflow
26 }
unsigned adc(const float fCharge) const
fC -&gt; ADC conversion
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
const float* CastorCalibrationQIECoder::base ( ) const
inlineprivate

Definition at line 66 of file CastorCalibrationQIECoder.h.

References bin0.

Referenced by adc(), charge(), minCharge(), minCharges(), setMinCharge(), and setMinCharges().

float* CastorCalibrationQIECoder::base ( )
inlineprivate

Definition at line 67 of file CastorCalibrationQIECoder.h.

References bin0.

float CastorCalibrationQIECoder::charge ( const unsigned  fAdc) const

ADC [0..31] -> fC conversion.

Definition at line 13 of file CastorCalibrationQIECoder.cc.

References base(), and data.

13  {
14  const float* data = base ();
15  if (fAdc >= 31) return (3*data[31]-data[30])/2.; // extrapolation
16  return (data[fAdc]+data[fAdc+1])/2;
17 }
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
float CastorCalibrationQIECoder::minCharge ( unsigned  fBin) const

Definition at line 28 of file CastorCalibrationQIECoder.cc.

References base(), and data.

28  {
29  const float* data = base ();
30  return fBin < 32 ? data[fBin] : data[31];
31 }
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
const float * CastorCalibrationQIECoder::minCharges ( ) const

Definition at line 33 of file CastorCalibrationQIECoder.cc.

References base(), and data.

33  {
34  const float* data = base ();
35  return data;
36 }
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
uint32_t CastorCalibrationQIECoder::rawId ( ) const
inline

Definition at line 31 of file CastorCalibrationQIECoder.h.

References mId.

template<class Archive >
void CastorCalibrationQIECoder::serialize ( Archive &  ar,
const unsigned int  version 
)
private
void CastorCalibrationQIECoder::setMinCharge ( unsigned  fBin,
float  fValue 
)

Definition at line 39 of file CastorCalibrationQIECoder.cc.

References base(), and data.

39  {
40  float* data = base ();
41  if (fBin < 32) data [fBin] = fValue;
42 }
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void CastorCalibrationQIECoder::setMinCharges ( const float  fValue[32])

Definition at line 44 of file CastorCalibrationQIECoder.cc.

References base(), data, and i.

44  {
45  float* data = base ();
46  for (int i = 0; i < 32; i++) data[i] = fValue[i];
47 }
int i
Definition: DBlmapReader.cc:9
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 69 of file CastorCalibrationQIECoder.h.

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 69 of file CastorCalibrationQIECoder.h.

Member Data Documentation

float CastorCalibrationQIECoder::bin0
private

Definition at line 34 of file CastorCalibrationQIECoder.h.

Referenced by base().

float CastorCalibrationQIECoder::bin1
private

Definition at line 35 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin10
private

Definition at line 44 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin11
private

Definition at line 45 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin12
private

Definition at line 46 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin13
private

Definition at line 47 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin14
private

Definition at line 48 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin15
private

Definition at line 49 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin16
private

Definition at line 50 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin17
private

Definition at line 51 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin18
private

Definition at line 52 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin19
private

Definition at line 53 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin2
private

Definition at line 36 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin20
private

Definition at line 54 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin21
private

Definition at line 55 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin22
private

Definition at line 56 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin23
private

Definition at line 57 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin24
private

Definition at line 58 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin25
private

Definition at line 59 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin26
private

Definition at line 60 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin27
private

Definition at line 61 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin28
private

Definition at line 62 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin29
private

Definition at line 63 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin3
private

Definition at line 37 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin30
private

Definition at line 64 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin31
private

Definition at line 65 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin4
private

Definition at line 38 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin5
private

Definition at line 39 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin6
private

Definition at line 40 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin7
private

Definition at line 41 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin8
private

Definition at line 42 of file CastorCalibrationQIECoder.h.

float CastorCalibrationQIECoder::bin9
private

Definition at line 43 of file CastorCalibrationQIECoder.h.

uint32_t CastorCalibrationQIECoder::mId
private

Definition at line 33 of file CastorCalibrationQIECoder.h.

Referenced by rawId().