ATLAS Offline Software
Loading...
Searching...
No Matches
CaloHadDMCoeff2.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALOCONDITIONS_CALOHADDMCOEFF2_H
6#define CALOCONDITIONS_CALOHADDMCOEFF2_H
7
16
17
19#include <vector>
20#include <string>
21#include <fstream>
22
24 public:
28 std::string m_title;
29 int m_type;
31 float m_vMin;
32 float m_vMax;
34 int xloc;
35 std::vector<float > m_vBins;
36
37 HadDMDimension() : m_type(0), m_nbins(0), m_vMin(0.0), m_vMax(0.0), m_bin_size(0.0), xloc(0) {};
38 };
54 typedef std::vector<float> HadDMCoeff;
55
56 // Default Constructor
60
61 // methods to deal with DM areas
62 inline int getSizeDMAreaSet() const { return (int)m_DMAreaSet.size(); }
63 void addHadDMArea(const HadDMArea & theArea);
64 void setHadDMArea(const int n_area, const HadDMArea & theArea);
65 const HadDMArea * getHadDMArea(int n_area) const;
66
67 // methods to deal with DM coefficients
68 inline int getSizeDMCoeffSet() const { return (int)m_DMCoeffSet.size(); }
69 void addHadDMCoeff(const HadDMCoeff & theData);
70 void setHadDMCoeff(const int iBin, const HadDMCoeff & theData);
71 const HadDMCoeff * getHadDMCoeff(const int & iBin) const;
72 const HadDMCoeff * getHadDMCoeff(const int & n_area, const float & cls_emfrac, const float & cls_ener, const float & cls_lambda, const float & cls_eta) const;
73
74 // methods to get DM coefficients bin number
75 int getBinFrac(const int dm_area, const float & cls_frac) const;
76 int getBinEner(const int dm_area, const float & cls_ener) const;
77 int getBinLambda(const int dm_area, const float & cls_lambda) const;
78 int getBinEta(const int dm_area, const float & cls_eta) const;
79 int getBin(const int n_area, const float &cls_em_frac, const float &cls_energy, const float &cls_lambda, const float &cls_eta) const;
80
81 // Accessories
82 void PrintData(std::ostream &ff) const;
83 int bin2indexes(const int iBin, std::vector<int> &v_dim_indx) const;
84
85 private:
86 std::vector<HadDMCoeff> m_DMCoeffSet;
87 std::vector<HadDMArea> m_DMAreaSet;
88 std::vector<int > m_area_offsets;
89};
90//Class Identifier obtained by
91//'clid CaloHadDMCoeff2'
92CLASS_DEF(CaloHadDMCoeff2, 249025083,1)
93
94#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Dead material correction coefficients.
const HadDMCoeff * getHadDMCoeff(const int &iBin) const
int bin2indexes(const int iBin, std::vector< int > &v_dim_indx) const
void addHadDMArea(const HadDMArea &theArea)
void setHadDMCoeff(const int iBin, const HadDMCoeff &theData)
CaloHadDMCoeff2 & operator=(const CaloHadDMCoeff2 &other)
int getBinEner(const int dm_area, const float &cls_ener) const
int getSizeDMAreaSet() const
const HadDMArea * getHadDMArea(int n_area) const
int getBinLambda(const int dm_area, const float &cls_lambda) const
std::vector< HadDMArea > m_DMAreaSet
void addHadDMCoeff(const HadDMCoeff &theData)
int getBinEta(const int dm_area, const float &cls_eta) const
int getBin(const int n_area, const float &cls_em_frac, const float &cls_energy, const float &cls_lambda, const float &cls_eta) const
std::vector< int > m_area_offsets
std::vector< HadDMCoeff > m_DMCoeffSet
void setHadDMArea(const int n_area, const HadDMArea &theArea)
int getBinFrac(const int dm_area, const float &cls_frac) const
void PrintData(std::ostream &ff) const
int getSizeDMCoeffSet() const
std::vector< float > HadDMCoeff
CaloHadDMCoeff2(const CaloHadDMCoeff2 &other)