CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HGCalRadiationMap.h
Go to the documentation of this file.
1 #ifndef simcalorimetry_hgcalsimalgos_hgcalradiationmap
2 #define simcalorimetry_hgcalsimalgos_hgcalradiationmap
3 
7 #include "vdt/vdtMath.h"
8 #include <string>
9 
15 public:
16  struct DoseParameters {
18  : a_(0.), b_(0.), c_(0.), d_(0.), e_(0.), doff_(0.), f_(0.), g_(0.), h_(0.), i_(0.), j_(0.), foff_(0.) {}
19  double a_, b_, c_, d_, e_, doff_, f_, g_, h_, i_, j_, foff_;
20  };
21 
24 
25  typedef std::map<std::pair<int, int>, DoseParameters> doseParametersMap;
26 
28  void setDoseMap(const std::string &, const unsigned int);
29 
30  double computeRadius(const HGCScintillatorDetId &);
31 
32  double getDoseValue(const int, const int, const double, bool logVal = false);
33  double getFluenceValue(const int, const int, const double, bool logVal = false);
34 
35  const unsigned int &algo() { return algo_; }
36  const HGCalGeometry *geom() { return hgcalGeom_; }
37  const HGCalTopology *topo() { return hgcalTopology_; }
38  const HGCalDDDConstants *ddd() { return hgcalDDD_; }
39 
40  inline const doseParametersMap &getDoseMap() { return doseMap_; }
41  inline void setFluenceScaleFactor(double val) { fluenceSFlog10_ = log10(val); }
42 
43 private:
45 
46  unsigned int algo_;
51  //conversion from gray to krad (1Gy=100rad=0.1krad)
52  const double grayToKrad_ = 0.1;
54 };
55 
56 #endif
doseParametersMap readDosePars(const std::string &)
const HGCalGeometry * hgcalGeom_
std::map< std::pair< int, int >, DoseParameters > doseParametersMap
const unsigned int & algo()
double getDoseValue(const int, const int, const double, bool logVal=false)
void setGeometry(const CaloSubdetectorGeometry *)
const HGCalDDDConstants * hgcalDDD_
const double grayToKrad_
void setFluenceScaleFactor(double val)
parses a txt file with dose/fluence parameters and provides functions for noise, etc.
double getFluenceValue(const int, const int, const double, bool logVal=false)
void setDoseMap(const std::string &, const unsigned int)
double computeRadius(const HGCScintillatorDetId &)
const HGCalDDDConstants * ddd()
const HGCalTopology * topo()
const doseParametersMap & getDoseMap()
const HGCalTopology * hgcalTopology_
doseParametersMap doseMap_
const HGCalGeometry * geom()