diff --git a/Calorimeter/CaloConditions/CMakeLists.txt b/Calorimeter/CaloConditions/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..357f157a44932d0894826eb9c57729c39457a378 --- /dev/null +++ b/Calorimeter/CaloConditions/CMakeLists.txt @@ -0,0 +1,45 @@ +################################################################################ +# Package: CaloConditions +################################################################################ + +# Declare the package name: +atlas_subdir( CaloConditions ) + +# Declare the package's dependencies: +atlas_depends_on_subdirs( PUBLIC + Control/CLIDSvc + Control/CxxUtils + Control/SGTools + DetectorDescription/Identifier + GaudiKernel + PRIVATE + AtlasTest/TestTools + TestPolicy ) + +# External dependencies: +find_package( Boost COMPONENTS filesystem thread system ) +find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) + +# Component(s) in the package: +atlas_add_library( CaloConditions + src/*.cxx + PUBLIC_HEADERS CaloConditions + PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES CxxUtils SGTools Identifier GaudiKernel + PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} TestTools ) + +atlas_add_dictionary( CaloConditionsDict + CaloConditions/CaloConditionsDict.h + CaloConditions/selection.xml + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CxxUtils SGTools Identifier GaudiKernel TestTools CaloConditions ) + +atlas_add_test( ToolConstants_test + SOURCES + test/ToolConstants_test.cxx + INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CxxUtils SGTools Identifier GaudiKernel TestTools CaloConditions ) + +# Install files from the package: +atlas_install_joboptions( share/*.py ) + diff --git a/Calorimeter/CaloConditions/CaloConditions/CaloBadChannel.h b/Calorimeter/CaloConditions/CaloConditions/CaloBadChannel.h index 404b32114d9f626dc91f26a6269968b74a8a48e3..07d639d123946b4d00dd4f7fa6cb63ef834ddca9 100644 --- a/Calorimeter/CaloConditions/CaloConditions/CaloBadChannel.h +++ b/Calorimeter/CaloConditions/CaloConditions/CaloBadChannel.h @@ -19,7 +19,9 @@ class CaloBadChannel { CaloBadChannel(const CaloBadChannel& rBad) {m_word=rBad.m_word;} CaloBadChannel(const CaloBadChannel* pBad) {m_word=pBad->m_word;} CaloBadChannel& operator= (const CaloBadChannel& rBad) { - m_word = rBad.m_word; + if (this != &rBad) { + m_word = rBad.m_word; + } return *this; } diff --git a/Calorimeter/CaloConditions/CaloConditions/CaloEMFrac.h b/Calorimeter/CaloConditions/CaloConditions/CaloEMFrac.h index 158f6435894e217686bd3b7500666d7df2035565..6c0934e4474b5dc8b11a7ea80b577644a0f094d4 100755 --- a/Calorimeter/CaloConditions/CaloConditions/CaloEMFrac.h +++ b/Calorimeter/CaloConditions/CaloConditions/CaloEMFrac.h @@ -59,7 +59,7 @@ public: /** * @brief Default Constructor. (Only intended for use by persistency.) */ - CaloEMFrac() {}; + CaloEMFrac(); /** diff --git a/Calorimeter/CaloConditions/CaloConditions/CaloHadWeight.h b/Calorimeter/CaloConditions/CaloConditions/CaloHadWeight.h index d9cf7e0094a917786294d75b5da3052b45fd77ec..59470ec88b04754061f27442d2b186e5ac10303c 100755 --- a/Calorimeter/CaloConditions/CaloConditions/CaloHadWeight.h +++ b/Calorimeter/CaloConditions/CaloConditions/CaloHadWeight.h @@ -28,7 +28,7 @@ public: }; //** Default Constructor - CaloHadWeight() {}; + CaloHadWeight(); CaloHadWeight(const int & nBinEta, const float & MinEta, diff --git a/Calorimeter/CaloConditions/CaloConditions/selection.xml b/Calorimeter/CaloConditions/CaloConditions/selection.xml index a8f2d50a8da5b4c2ebb28eef677a45ace511ab13..cf2525cb27a5d203d912e0872d98fd742576d46b 100755 --- a/Calorimeter/CaloConditions/CaloConditions/selection.xml +++ b/Calorimeter/CaloConditions/CaloConditions/selection.xml @@ -3,6 +3,7 @@ <class name="CaloRec::ToolConstants" id="5A73ABF8-5095-405B-A296-3435BB52A5FD" /> <class name="CaloRec::Arrayrep" /> <class name="std::map<std::string, CaloRec::Arrayrep>" /> + <class name="std::pair<std::string, CaloRec::Arrayrep>" /> <class name="CaloRec::CaloCellFactor" id="F2906C3B-DB35-4026-8AA4-D57E4B41288D" /> diff --git a/Calorimeter/CaloConditions/src/CaloEMFrac.cxx b/Calorimeter/CaloConditions/src/CaloEMFrac.cxx index 18e723f08a58b7805f33a9c04ab598527fb137c6..3553a4f18069419dcfd12267371e09946e4c101a 100755 --- a/Calorimeter/CaloConditions/src/CaloEMFrac.cxx +++ b/Calorimeter/CaloConditions/src/CaloEMFrac.cxx @@ -12,6 +12,26 @@ #include "CaloConditions/CaloEMFrac.h" +/** + * @brief Default Constructor. (Only intended for use by persistency.) + */ +CaloEMFrac::CaloEMFrac() + : m_nBinEta(0), + m_nBinLogEClus(0), + m_nBinLogEDens(0), + m_nBinLogDepth(0), + m_MinEta(0), + m_MinLogEClus(0), + m_MinLogEDens(0), + m_MinLogDepth(0), + m_MaxEta(0), + m_MaxLogEClus(0), + m_MaxLogEDens(0), + m_MaxLogDepth(0) +{ +} + + /** * @brief Constructor. * @param nBinEta Number of bins in eta. diff --git a/Calorimeter/CaloConditions/src/CaloHadDMCoeff.cxx b/Calorimeter/CaloConditions/src/CaloHadDMCoeff.cxx index 75f819133dded95f2263290fe58a10916ecbe5a1..75985ac7336bda9fb061efb9134344c99ee3d271 100755 --- a/Calorimeter/CaloConditions/src/CaloHadDMCoeff.cxx +++ b/Calorimeter/CaloConditions/src/CaloHadDMCoeff.cxx @@ -160,7 +160,7 @@ void CaloHadDMCoeff::PrintData(FILE *fout) const "# indx ifrac iener ieta frac ener eta pars[]\n" "#\n\n"}; fprintf(fout,"%s",comments); - int m_indx = 0; + int indx = 0; for(int i_zone=0; i_zone < (int)m_DMAreaSet.size(); i_zone++){ const HadDMArea *area = &m_DMAreaSet[i_zone]; fprintf(fout," %d %d %s\n",area->m_indx, area->m_is_on, area->m_title.data()); @@ -176,7 +176,7 @@ void CaloHadDMCoeff::PrintData(FILE *fout) const float cls_eta = area->m_EtaBins[i_eta]+0.01; const HadDMCoeff *vv = getHadDMCoeff(i_zone, cls_emfrac, cls_ener, cls_eta); fprintf(fout,"%4d %2d %2d %2d %6.3f %6.3g %6.3f ", - m_indx, i_frac,i_ener, i_eta, area->m_FracBins[i_frac], area->m_EnerBins[i_ener], area->m_EtaBins[i_eta]); + indx, i_frac,i_ener, i_eta, area->m_FracBins[i_frac], area->m_EnerBins[i_ener], area->m_EtaBins[i_eta]); for(int i_par=0; i_par<area->m_nPars; i_par++){ if(area->m_indx!=10) { fprintf(fout,"%10.4f ",(*vv)[i_par]); @@ -184,7 +184,7 @@ void CaloHadDMCoeff::PrintData(FILE *fout) const fprintf(fout,"%10.7f ",(*vv)[i_par]); } } // i_par - m_indx++; + indx++; fprintf(fout,"\n"); } // i_eta } // i_ener diff --git a/Calorimeter/CaloConditions/src/CaloHadWeight.cxx b/Calorimeter/CaloConditions/src/CaloHadWeight.cxx index 7eb73f774f0cb536da9c934b6514375c16c129ca..8fae31cc807b165e626f5a47bfb527619a077660 100755 --- a/Calorimeter/CaloConditions/src/CaloHadWeight.cxx +++ b/Calorimeter/CaloConditions/src/CaloHadWeight.cxx @@ -5,6 +5,24 @@ #include "CaloConditions/CaloHadWeight.h" +//** Default Constructor +CaloHadWeight::CaloHadWeight() + : m_nBinEta(0), + m_nBinSampling(0), + m_nBinLogEClus(0), + m_nBinLogEDensCell(0), + m_MinEta(0), + m_MinSampling(0), + m_MinLogEClus(0), + m_MinLogEDensCell(0), + m_MaxEta(0), + m_MaxSampling(0), + m_MaxLogEClus(0), + m_MaxLogEDensCell(0) +{ +} + + CaloHadWeight::CaloHadWeight( const int & nBinEta, const float & MinEta,