CMS 3D CMS Logo

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

#include <HcalSiPMRadiationDamage.h>

Public Member Functions

double getDarkCurrent (double intlumi, unsigned index) const
 
 HcalSiPMRadiationDamage ()
 
 HcalSiPMRadiationDamage (std::vector< double > darkCurrentBase, const edm::ParameterSet &p)
 
 ~HcalSiPMRadiationDamage ()
 

Private Attributes

std::vector< double > darkCurrentBase_
 
std::vector< double > depVsNeutrons_
 
double depVsTemp_
 
double intlumiOffset_
 
double intlumiToNeutrons_
 
double temperatureBase_
 
double temperatureNew_
 

Detailed Description

Definition at line 14 of file HcalSiPMRadiationDamage.h.

Constructor & Destructor Documentation

HcalSiPMRadiationDamage::HcalSiPMRadiationDamage ( )
HcalSiPMRadiationDamage::HcalSiPMRadiationDamage ( std::vector< double >  darkCurrentBase,
const edm::ParameterSet p 
)

Definition at line 10 of file HcalSiPMRadiationDamage.cc.

11  : darkCurrentBase_(darkCurrentBase),
12  temperatureBase_(p.getParameter<double>("temperatureBase")),
13  temperatureNew_(p.getParameter<double>("temperatureNew")),
14  intlumiOffset_(p.getParameter<double>("intlumiOffset")),
15  depVsTemp_(p.getParameter<double>("depVsTemp")),
16  intlumiToNeutrons_(p.getParameter<double>("intlumiToNeutrons")),
17  depVsNeutrons_(p.getParameter<std::vector<double>>("depVsNeutrons")) {}
std::vector< double > depVsNeutrons_
std::vector< double > darkCurrentBase_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HcalSiPMRadiationDamage::~HcalSiPMRadiationDamage ( )
inline

Definition at line 18 of file HcalSiPMRadiationDamage.h.

18 {}

Member Function Documentation

double HcalSiPMRadiationDamage::getDarkCurrent ( double  intlumi,
unsigned  index 
) const

Definition at line 20 of file HcalSiPMRadiationDamage.cc.

References darkCurrentBase_, depVsNeutrons_, depVsTemp_, funct::exp(), intlumiOffset_, intlumiToNeutrons_, temperatureBase_, and temperatureNew_.

Referenced by HcalHardcodeParameters::darkCurrent().

20  {
21  intlumi -= intlumiOffset_;
22  if (intlumi <= 0)
23  return darkCurrentBase_.at(index);
24  double darkCurrentNewLumi = darkCurrentBase_.at(index) + depVsNeutrons_.at(index) * (intlumi * intlumiToNeutrons_);
25  double darkCurrentNewTemp = darkCurrentNewLumi * std::exp(depVsTemp_ * (temperatureNew_ - temperatureBase_));
26  return darkCurrentNewTemp;
27 }
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
std::vector< double > depVsNeutrons_
std::vector< double > darkCurrentBase_

Member Data Documentation

std::vector<double> HcalSiPMRadiationDamage::darkCurrentBase_
private

Definition at line 25 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

std::vector<double> HcalSiPMRadiationDamage::depVsNeutrons_
private

Definition at line 31 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::depVsTemp_
private

Definition at line 29 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::intlumiOffset_
private

Definition at line 28 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::intlumiToNeutrons_
private

Definition at line 30 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::temperatureBase_
private

Definition at line 26 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::temperatureNew_
private

Definition at line 27 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().