CMS 3D CMS Logo

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 
10 typedef std::array<double, 8> radiiVec;
11 
17 public:
18  struct DoseParameters {
19  DoseParameters() : a_(0.), b_(0.), c_(0.), d_(0.), e_(0.), f_(0.), g_(0.), h_(0.), i_(0.), j_(0.) {}
20  double a_, b_, c_, d_, e_, f_, g_, h_, i_, j_;
21  };
22 
25 
26  typedef std::map<std::pair<int, int>, DoseParameters> doseParametersMap;
27 
29  void setDoseMap(const std::string &, const unsigned int);
30 
31  double getDoseValue(const int, const int, const radiiVec &, bool logVal = false);
32  double getFluenceValue(const int, const int, const radiiVec &, bool logVal = false);
33 
34  const unsigned int &algo() { return algo_; }
35  const HGCalGeometry *geom() { return hgcalGeom_; }
36  const HGCalTopology *topo() { return hgcalTopology_; }
37  const HGCalDDDConstants *ddd() { return hgcalDDD_; }
38 
39  inline const doseParametersMap &getDoseMap() { return doseMap_; }
40 
41 private:
42  doseParametersMap readDosePars(const std::string &);
43 
44  unsigned int algo_;
48  doseParametersMap doseMap_;
49  //conversion from grey to krad
50  const double grayToKrad_ = 0.1;
51 };
52 
53 #endif
doseParametersMap readDosePars(const std::string &)
double getFluenceValue(const int, const int, const radiiVec &, bool logVal=false)
const HGCalGeometry * hgcalGeom_
std::array< double, 8 > radiiVec
std::map< std::pair< int, int >, DoseParameters > doseParametersMap
const unsigned int & algo()
void setGeometry(const CaloSubdetectorGeometry *)
const HGCalDDDConstants * hgcalDDD_
const double grayToKrad_
double getDoseValue(const int, const int, const radiiVec &, bool logVal=false)
parses a txt file with dose/fluence parameters and provides functions for noise, etc.
void setDoseMap(const std::string &, const unsigned int)
const HGCalDDDConstants * ddd()
const HGCalTopology * topo()
const doseParametersMap & getDoseMap()
const HGCalTopology * hgcalTopology_
doseParametersMap doseMap_
const HGCalGeometry * geom()