diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.cxx
index ba5d9028c046133ec072a50f2e5fca7dc2de07e4..e76b564eeacabeffb069c1ad8fdb306754d71e42 100644
--- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.cxx
+++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.cxx
@@ -37,7 +37,7 @@ StatusCode PixelDCSCondHVAlg::initialize() {
 StatusCode PixelDCSCondHVAlg::execute() {
   ATH_MSG_DEBUG("PixelDCSCondHVAlg::execute()");
 
-  SG::WriteCondHandle<PixelDCSConditionsData> writeHandle(m_writeKey);
+  SG::WriteCondHandle<PixelModuleData> writeHandle(m_writeKey);
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid.. In theory this should not be called, but may happen if multiple concurrent events are being processed out of order.");
     return StatusCode::SUCCESS; 
@@ -59,7 +59,7 @@ StatusCode PixelDCSCondHVAlg::execute() {
   ATH_MSG_INFO("Range of input is " << rangeW);
   
   // Construct the output Cond Object and fill it in
-  std::unique_ptr<PixelDCSConditionsData> writeCdo(std::make_unique<PixelDCSConditionsData>());
+  std::unique_ptr<PixelModuleData> writeCdo(std::make_unique<PixelModuleData>());
 
   // Read HV info
   std::string param("HV");
@@ -70,26 +70,26 @@ StatusCode PixelDCSCondHVAlg::execute() {
       if (payload.exists(param) and not payload[param].isNull()) {
         float val = payload[param].data<float>();
         if (val>1000.0 || val<-1000.0) {
-          writeCdo -> setValue((int)channelNumber, m_defaultBiasVoltage);
+          writeCdo -> setBiasVoltage((int)channelNumber, m_defaultBiasVoltage);
         }
         else {
-          writeCdo -> setValue((int)channelNumber, val);
+          writeCdo -> setBiasVoltage((int)channelNumber, val);
         }
       } 
       else {
         ATH_MSG_WARNING(param << " does not exist for ChanNum " << channelNumber);
-        writeCdo -> setValue((int)channelNumber, m_defaultBiasVoltage);
+        writeCdo -> setBiasVoltage((int)channelNumber, m_defaultBiasVoltage);
       }
     }
   }
   else {
     for (int i=0; i<(int)m_pixelID->wafer_hash_max(); i++) {
-      writeCdo->setValue(i, m_defaultBiasVoltage);
+      writeCdo -> setBiasVoltage(i, m_defaultBiasVoltage);
     }
   }
 
   if (writeHandle.record(rangeW, std::move(writeCdo)).isFailure()) {
-    ATH_MSG_FATAL("Could not record PixelDCSConditionsData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store");
+    ATH_MSG_FATAL("Could not record PixelModuleData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store");
     return StatusCode::FAILURE;
   }
   ATH_MSG_INFO("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store");
diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.h b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.h
index 46bfc1e9f8b5a3576c2a3fe9aa613bb95e88a369..3a4490f4e2b5eaf7cf8c792658eab516d05fb025 100644
--- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.h
+++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.h
@@ -11,7 +11,7 @@
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 
 #include "StoreGate/WriteCondHandleKey.h"
-#include "PixelConditionsData/PixelDCSConditionsData.h"
+#include "PixelConditionsData/PixelModuleData.h"
 
 #include "InDetIdentifier/PixelID.h"
 
@@ -34,7 +34,7 @@ class PixelDCSCondHVAlg : public AthAlgorithm {
     float m_defaultBiasVoltage;
 
     SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/PIXEL/DCS/HV", "Key of input (raw) HV conditions folder"};
-    SG::WriteCondHandleKey<PixelDCSConditionsData> m_writeKey{this, "WriteKey", "PixelDCSHVCondData", "Key of output (derived) HV conditions data"};
+    SG::WriteCondHandleKey<PixelModuleData> m_writeKey{this, "WriteKey", "PixelDCSHVCondData", "Key of output (derived) HV conditions data"};
 
     ServiceHandle<ICondSvc> m_condSvc;
 };
diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.cxx
index b7e1a4eed18f6ad7505dd8b0efc9afac554d9e5d..e754e7dea80258a7d1d99775e26371585aff3d76 100644
--- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.cxx
+++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.cxx
@@ -39,7 +39,7 @@ StatusCode PixelDCSCondTempAlg::initialize() {
 StatusCode PixelDCSCondTempAlg::execute() {
   ATH_MSG_DEBUG("PixelDCSCondTempAlg::execute()");
 
-  SG::WriteCondHandle<PixelDCSConditionsData> writeHandle(m_writeKey);
+  SG::WriteCondHandle<PixelModuleData> writeHandle(m_writeKey);
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid.. In theory this should not be called, but may happen if multiple concurrent events are being processed out of order.");
@@ -63,7 +63,7 @@ StatusCode PixelDCSCondTempAlg::execute() {
   ATH_MSG_INFO("Range of input is " << rangeW);
   
   // Construct the output Cond Object and fill it in
-  std::unique_ptr<PixelDCSConditionsData> writeCdo(std::make_unique<PixelDCSConditionsData>());
+  std::unique_ptr<PixelModuleData> writeCdo(std::make_unique<PixelModuleData>());
 
   // Read temperature info
   std::string param{"temperature"};
@@ -74,26 +74,26 @@ StatusCode PixelDCSCondTempAlg::execute() {
       if (payload.exists(param) and not payload[param].isNull()) {
         float val = payload[param].data<float>();
         if (val>100.0 || val<-80.0) {
-          writeCdo->setValue((int)channelNumber, m_defaultTemperature);
+          writeCdo->setTemperature((int)channelNumber, m_defaultTemperature);
         }
         else {
-          writeCdo->setValue((int)channelNumber, val);
+          writeCdo->setTemperature((int)channelNumber, val);
         }
       } 
       else {
         ATH_MSG_WARNING(param << " does not exist for ChanNum " << channelNumber);
-        writeCdo->setValue((int)channelNumber, m_defaultTemperature);
+        writeCdo->setTemperature((int)channelNumber, m_defaultTemperature);
       }
     }
   }
   else {
     for (int i=0; i<(int)m_pixelID->wafer_hash_max(); i++) {
-      writeCdo->setValue(i, m_defaultTemperature);
+      writeCdo->setTemperature(i, m_defaultTemperature);
     }
   }
 
   if (writeHandle.record(rangeW, std::move(writeCdo)).isFailure()) {
-    ATH_MSG_FATAL("Could not record PixelDCSConditionsData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store");
+    ATH_MSG_FATAL("Could not record PixelModuleData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store");
     return StatusCode::FAILURE;
   }
   ATH_MSG_INFO("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store");
diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.h b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.h
index 5eff0e7de14230a8ea39ced47a33da503fd7536f..d8cace7ce588ecedb0fbb13e1a36607cf4fb1710 100644
--- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.h
+++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.h
@@ -11,7 +11,7 @@
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 
 #include "StoreGate/WriteCondHandleKey.h"
-#include "PixelConditionsData/PixelDCSConditionsData.h"
+#include "PixelConditionsData/PixelModuleData.h"
 
 #include "InDetIdentifier/PixelID.h"
 
@@ -34,7 +34,7 @@ class PixelDCSCondTempAlg : public AthAlgorithm {
     float m_defaultTemperature;
 
     SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/PIXEL/DCS/TEMPERATURE", "Key of input (raw) temperature conditions folder"};
-    SG::WriteCondHandleKey<PixelDCSConditionsData> m_writeKey{this, "WriteKey", "PixelDCSTempCondData", "Key of output (derived) temperature conditions folder"};
+    SG::WriteCondHandleKey<PixelModuleData> m_writeKey{this, "WriteKey", "PixelDCSTempCondData", "Key of output (derived) temperature conditions folder"};
 
     ServiceHandle<ICondSvc> m_condSvc;
 };
diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelSiliconConditionsTestAlg.h b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelSiliconConditionsTestAlg.h
index c8882800d8bb02a4c84bd940ebd7c7334ed586eb..ca43fd8b84049df6058fb6339dd1b83de3fe8a30 100644
--- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelSiliconConditionsTestAlg.h
+++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelSiliconConditionsTestAlg.h
@@ -9,7 +9,6 @@
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "GaudiKernel/ToolHandle.h"
 
-#include "PixelConditionsData/PixelDCSConditionsData.h"
 #include "PixelConditionsData/PixelModuleData.h"
 #include "StoreGate/ReadCondHandleKey.h"
 
@@ -23,11 +22,9 @@ class PixelSiliconConditionsTestAlg : public AthAlgorithm {
     virtual StatusCode finalize() override;
 
   private:
-    SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData",         "Key of input sensor temperature conditions folder"};
-    SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyHV  {this, "ReadKeyHV",    "PixelDCSHVCondData",           "Key of input bias voltage conditions folder"};
-
+    SG::ReadCondHandleKey<PixelModuleData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData",         "Key of input sensor temperature conditions folder"};
+    SG::ReadCondHandleKey<PixelModuleData> m_readKeyHV  {this, "ReadKeyHV",    "PixelDCSHVCondData",           "Key of input bias voltage conditions folder"};
     SG::ReadCondHandleKey<PixelModuleData> m_moduleDataKey{this, "PixelModuleData", "PixelModuleData", "Output key"};
-
 };
 
 #endif
diff --git a/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelDCSConditionsData.h b/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelDCSConditionsData.h
deleted file mode 100644
index ca7ea05114294cf31966813582742348f79813f6..0000000000000000000000000000000000000000
--- a/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelDCSConditionsData.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef PIXELDCSCONDDATA_H
-#define PIXELDCSCONDDATA_H
-
-#include "AthenaKernel/CLASS_DEF.h"
-#include <map>
-
-class PixelDCSConditionsData {
-  public:
-    PixelDCSConditionsData();
-    virtual ~PixelDCSConditionsData();
-
-    void setValue(const int chanNum, const float value);
-    bool getValue(const int chanNum, float& value) const;
-    void clear();
-
-  private:
-    typedef std::map<int, float> FloatConditions;
-    FloatConditions  m_channelValues;
-};
-
-CLASS_DEF( PixelDCSConditionsData , 345532773 , 1 )
-
-#include "AthenaKernel/CondCont.h"
-CONDCONT_DEF( PixelDCSConditionsData, 578786393 );
-
-#endif // PIXELDCSCONDDATA_H
diff --git a/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelModuleData.h b/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelModuleData.h
index 1b8e36aede03fc24d18eb06df31b8b6d5eaea68a..1ace713919d3a82e4f01fa144b4016792333d8f9 100644
--- a/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelModuleData.h
+++ b/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelModuleData.h
@@ -13,6 +13,12 @@ class PixelModuleData {
     PixelModuleData();
     virtual ~PixelModuleData();
 
+    void setBiasVoltage(const int chanNum, const float value);
+    float getBiasVoltage(const int chanNum) const;
+
+    void setTemperature(const int chanNum, const float value);
+    float getTemperature(const int chanNum) const;
+
     void setModuleStatus(const int chanNum, const int value);
     int getModuleStatus(const int chanNum) const;
 
@@ -64,7 +70,10 @@ class PixelModuleData {
     void clear();
 
   private:
+    typedef std::map<int, float> FloatConditions;
     typedef std::map<int, int> IntConditions;
+    FloatConditions  m_biasVoltage;
+    FloatConditions  m_temperature;
     IntConditions  m_moduleStatus;
     IntConditions  m_chipStatus;
 
diff --git a/InnerDetector/InDetConditions/PixelConditionsData/src/PixelDCSConditionsData.cxx b/InnerDetector/InDetConditions/PixelConditionsData/src/PixelDCSConditionsData.cxx
deleted file mode 100644
index a3ba08686b99483f579a43fea4d9770446053489..0000000000000000000000000000000000000000
--- a/InnerDetector/InDetConditions/PixelConditionsData/src/PixelDCSConditionsData.cxx
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "PixelConditionsData/PixelDCSConditionsData.h"
-
-PixelDCSConditionsData::PixelDCSConditionsData():
-  m_channelValues()
-{
-}
-
-PixelDCSConditionsData::~PixelDCSConditionsData() { }
-
-void PixelDCSConditionsData::setValue(const int chanNum, const float value) {
-  m_channelValues[chanNum] = value;
-}
-
-bool PixelDCSConditionsData::getValue(const int chanNum, float& value) const {
-  auto itr = m_channelValues.find(chanNum);
-  if (itr!=m_channelValues.end()) {
-    value = itr->second;
-    return true;
-  }
-  return false;
-}
-
-void PixelDCSConditionsData::clear() {
-  m_channelValues.clear();
-}
-
diff --git a/InnerDetector/InDetConditions/PixelConditionsData/src/PixelModuleData.cxx b/InnerDetector/InDetConditions/PixelConditionsData/src/PixelModuleData.cxx
index 3802584b839f53b209e11bb124528753f51aecfb..0022842172840a1855c67003eef562f7f2daaf79 100644
--- a/InnerDetector/InDetConditions/PixelConditionsData/src/PixelModuleData.cxx
+++ b/InnerDetector/InDetConditions/PixelConditionsData/src/PixelModuleData.cxx
@@ -5,6 +5,8 @@
 #include "PixelConditionsData/PixelModuleData.h"
 
 PixelModuleData::PixelModuleData():
+  m_biasVoltage(),
+  m_temperature(),
   m_moduleStatus(),
   m_chipStatus()
 {
@@ -12,6 +14,26 @@ PixelModuleData::PixelModuleData():
 
 PixelModuleData::~PixelModuleData() { }
 
+void PixelModuleData::setBiasVoltage(const int chanNum, const float value) {
+  m_biasVoltage[chanNum] = value;
+}
+
+float PixelModuleData::getBiasVoltage(const int chanNum) const {
+  auto itr = m_biasVoltage.find(chanNum);
+  if (itr!=m_biasVoltage.end()) { return itr->second; }
+  return 0;
+}
+
+void PixelModuleData::setTemperature(const int chanNum, const float value) {
+  m_temperature[chanNum] = value;
+}
+
+float PixelModuleData::getTemperature(const int chanNum) const {
+  auto itr = m_temperature.find(chanNum);
+  if (itr!=m_temperature.end()) { return itr->second; }
+  return 0;
+}
+
 // Module status
 void PixelModuleData::setModuleStatus(const int chanNum, const int value) {
   m_moduleStatus[chanNum] = value;
@@ -128,6 +150,8 @@ int PixelModuleData::getIBLOverflowToT() const {
 }
 
 void PixelModuleData::clear() {
+  m_biasVoltage.clear();
+  m_temperature.clear();
   m_moduleStatus.clear();
   m_chipStatus.clear();
 }
diff --git a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.cxx b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.cxx
index a5060adb1b82d05527d663cca6ac2f42a977c791..4606c76161059db9250c2370753eaa08af311341 100644
--- a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.cxx
@@ -74,8 +74,8 @@ PixelSiLorentzAngleCondAlg::execute() {
   EventIDRange rangeBField{eidStart, eidStop};
 
   // Read Cond Handle (temperature)
-  SG::ReadCondHandle<PixelDCSConditionsData> readHandleTemp(m_readKeyTemp);
-  const PixelDCSConditionsData* readCdoTemp(*readHandleTemp);
+  SG::ReadCondHandle<PixelModuleData> readHandleTemp(m_readKeyTemp);
+  const PixelModuleData* readCdoTemp(*readHandleTemp);
   if (readCdoTemp==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
     return StatusCode::FAILURE;
@@ -89,8 +89,8 @@ PixelSiLorentzAngleCondAlg::execute() {
   ATH_MSG_DEBUG("Input is " << readHandleTemp.fullKey() << " with the range of " << rangeTemp);
 
   // Read Cond Handle (HV)
-  SG::ReadCondHandle<PixelDCSConditionsData> readHandleHV(m_readKeyHV);
-  const PixelDCSConditionsData* readCdoHV(*readHandleHV);
+  SG::ReadCondHandle<PixelModuleData> readHandleHV(m_readKeyHV);
+  const PixelModuleData* readCdoHV(*readHandleHV);
   if (readCdoHV==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
     return StatusCode::FAILURE;
@@ -152,15 +152,9 @@ PixelSiLorentzAngleCondAlg::execute() {
   for (PixelID::size_type hash=0; hash<wafer_hash_max; hash++) {
     const IdentifierHash elementHash = static_cast<IdentifierHash::value_type>(hash);
 
-    float tempCdo = 0.0;
-    readCdoTemp->getValue(elementHash,tempCdo);
-    double temperature = tempCdo+273.15;
-
+    double temperature = readCdoTemp->getTemperature(elementHash)+273.15;
     double deplVoltage = 0.0*CLHEP::volt;
-
-    float hvCdo = 0.0;
-    readCdoHV->getValue(elementHash,hvCdo);
-    double biasVoltage = hvCdo*CLHEP::volt;
+    double biasVoltage = readCdoHV->getBiasVoltage(elementHash)*CLHEP::volt;
 
     ATH_MSG_DEBUG("Pixel Hash = " << elementHash << " Temperature = " << temperature << " [deg K], BiasV = " << biasVoltage << " DeplV = " << deplVoltage);
 
diff --git a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.h b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.h
index 93830438787aeff9a6e82116da445516989e57da..14c5466c5e7c4d4a6f75af0197025f0188b45827 100644
--- a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.h
+++ b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.h
@@ -10,7 +10,7 @@
 #include "StoreGate/ReadCondHandleKey.h"
 #include "StoreGate/WriteCondHandleKey.h"
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
-#include "PixelConditionsData/PixelDCSConditionsData.h"
+#include "PixelConditionsData/PixelModuleData.h"
 #include "GaudiKernel/ICondSvc.h"
 #include "SiPropertiesSvc/ISiPropertiesTool.h"
 
@@ -42,10 +42,10 @@ class PixelSiLorentzAngleCondAlg: public AthAlgorithm {
     ServiceHandle<ICondSvc> m_condSvc;
     ServiceHandle<MagField::IMagFieldSvc> m_magFieldSvc;
 
-    SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData",         "Key of input sensor temperature conditions folder"};
-    SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyHV  {this, "ReadKeyHV",    "PixelDCSHVCondData",           "Key of input bias voltage conditions folder"};
-
+    SG::ReadCondHandleKey<PixelModuleData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData",         "Key of input sensor temperature conditions folder"};
+    SG::ReadCondHandleKey<PixelModuleData> m_readKeyHV  {this, "ReadKeyHV",    "PixelDCSHVCondData",           "Key of input bias voltage conditions folder"};
     SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyBFieldSensor{this, "ReadKeyBFieldSensor", "/EXT/DCS/MAGNETS/SENSORDATA", "Key of input B-field sensor"};
+
     SG::WriteCondHandleKey<SiLorentzAngleCondData> m_writeKey{this, "WriteKey", "PixelSiLorentzAngleCondData", "Key of output SiLorentzAngleCondData"};
 
     ToolHandle<ISiPropertiesTool>   m_siPropertiesTool{this, "SiPropertiesTool", "SiPropertiesTool", "Tool to retrieve SiProperties"};
diff --git a/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.cxx b/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.cxx
index c8edf9a86f3025ff564cc5426af3a5d1024f703f..1eddd274b86463c1c1b32bc6017829fabd5d765c 100644
--- a/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.cxx
@@ -46,8 +46,8 @@ StatusCode PixelSiPropertiesCondAlg::execute() {
   }
 
   // Read Cond Handle (temperature)
-  SG::ReadCondHandle<PixelDCSConditionsData> readHandleTemp(m_readKeyTemp);
-  const PixelDCSConditionsData* readCdoTemp(*readHandleTemp);
+  SG::ReadCondHandle<PixelModuleData> readHandleTemp(m_readKeyTemp);
+  const PixelModuleData* readCdoTemp(*readHandleTemp);
   if (readCdoTemp==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
     return StatusCode::FAILURE;
@@ -60,8 +60,8 @@ StatusCode PixelSiPropertiesCondAlg::execute() {
   ATH_MSG_INFO("Input is " << readHandleTemp.fullKey() << " with the range of " << rangeTemp);
 
   // Read Cond Handle (HV)
-  SG::ReadCondHandle<PixelDCSConditionsData> readHandleHV(m_readKeyHV);
-  const PixelDCSConditionsData* readCdoHV(*readHandleHV);
+  SG::ReadCondHandle<PixelModuleData> readHandleHV(m_readKeyHV);
+  const PixelModuleData* readCdoHV(*readHandleHV);
   if (readCdoHV==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
     return StatusCode::FAILURE;
@@ -87,15 +87,9 @@ StatusCode PixelSiPropertiesCondAlg::execute() {
   for (PixelID::size_type hash=0; hash<wafer_hash_max; hash++) {
     const IdentifierHash elementHash = static_cast<IdentifierHash::value_type>(hash);
 
-    float tempCdo = 0.0;
-    readCdoTemp->getValue(elementHash,tempCdo);
-    double temperature = tempCdo+273.15;
-    
+    double temperature = readCdoTemp->getTemperature(elementHash)+273.15;
     double deplVoltage = 0.0*CLHEP::volt;
-
-    float hvCdo = 0.0;
-    readCdoHV->getValue(elementHash,hvCdo);
-    double biasVoltage = hvCdo*CLHEP::volt;
+    double biasVoltage = readCdoHV->getBiasVoltage(elementHash)*CLHEP::volt;
 
     const InDetDD::SiDetectorElement* element = m_detManager->getDetectorElement(elementHash);
     double depletionDepth = element->thickness();
diff --git a/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.h b/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.h
index 421b02721382725c375229673fe175086d699fda..3e0be4071512a7c3535b252c8cf981cf252b4efb 100644
--- a/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.h
+++ b/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.h
@@ -9,7 +9,7 @@
 
 #include "StoreGate/ReadCondHandleKey.h"
 #include "StoreGate/WriteCondHandleKey.h"
-#include "PixelConditionsData/PixelDCSConditionsData.h"
+#include "PixelConditionsData/PixelModuleData.h"
 #include "GaudiKernel/ICondSvc.h"
 
 #include "SiPropertiesSvc/SiliconPropertiesVector.h"
@@ -29,8 +29,9 @@ class PixelSiPropertiesCondAlg : public AthAlgorithm {
     const InDetDD::PixelDetectorManager * m_detManager;
     
     ServiceHandle<ICondSvc> m_condSvc;
-    SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyTemp      {this, "ReadKeyeTemp", "PixelDCSTempCondData",         "Key of input sensor temperature conditions folder"};
-    SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyHV        {this, "ReadKeyHV",    "PixelDCSHVCondData",           "Key of input bias voltage conditions folder"};
+
+    SG::ReadCondHandleKey<PixelModuleData> m_readKeyTemp      {this, "ReadKeyeTemp", "PixelDCSTempCondData",         "Key of input sensor temperature conditions folder"};
+    SG::ReadCondHandleKey<PixelModuleData> m_readKeyHV        {this, "ReadKeyHV",    "PixelDCSHVCondData",           "Key of input bias voltage conditions folder"};
     SG::WriteCondHandleKey<InDet::SiliconPropertiesVector> m_writeKey{this, "WriteKey",     "PixelSiliconPropertiesVector", "Key of output silicon properties conditions folder"};
 
 };
diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx
index 58842c43177bf4b66e94139bdb7349475da17796..f643b6928825aa4903200564f788ff9f71ea991f 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx
@@ -229,16 +229,9 @@ StatusCode PixelPrepDataToxAOD::execute()
         AUXDATA(xprd,int,isBSError) = (int)m_pixelBSErrorsSvc->isActive(moduleHash);
         AUXDATA(xprd,int,DCSState) = SG::ReadCondHandle<PixelModuleData>(m_condDCSStateKey)->getModuleStatus(moduleHash);
 
-        float temperature = 0.0;
-        SG::ReadCondHandle<PixelDCSConditionsData>(m_readKeyTemp)->getValue(moduleHash,temperature);
-
         float deplVoltage = 0.0;
-
-        float biasVoltage = 0.0;
-        SG::ReadCondHandle<PixelDCSConditionsData>(m_readKeyHV)->getValue(moduleHash,biasVoltage);
-
-        AUXDATA(xprd,float,BiasVoltage) = biasVoltage;
-        AUXDATA(xprd,float,Temperature) = temperature;
+        AUXDATA(xprd,float,BiasVoltage) = SG::ReadCondHandle<PixelModuleData>(m_readKeyHV)->getBiasVoltage(moduleHash);
+        AUXDATA(xprd,float,Temperature) = SG::ReadCondHandle<PixelModuleData>(m_readKeyTemp)->getTemperature(moduleHash);
         AUXDATA(xprd,float,DepletionVoltage) = deplVoltage;
 
         AUXDATA(xprd,float,LorentzShift) = (float)m_lorentzAngleTool->getLorentzShift(moduleHash);
diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.h b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.h
index 044fc086808ed4c3cff46d2dfaa83e163c71e283..bb5b9b0e86135d6953c895f3218a6c67f6feb619 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.h
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.h
@@ -20,7 +20,6 @@
 #include "xAODTracking/TrackMeasurementValidation.h"
 #include "xAODTracking/TrackMeasurementValidationContainer.h"
 
-#include "PixelConditionsData/PixelDCSConditionsData.h"
 #include "PixelConditionsData/PixelModuleData.h"
 #include "InDetCondServices/ISiLorentzAngleTool.h"
 #include "PixelConditionsServices/IPixelByteStreamErrorsSvc.h"
@@ -108,8 +107,8 @@ private:
   SG::ReadCondHandleKey<PixelModuleData> m_condDCSStateKey{this, "PixelDCSStateCondData", "PixelDCSStateCondData", "Pixel FSM state key"};
   SG::ReadCondHandleKey<PixelModuleData> m_condDCSStatusKey{this, "PixelDCSStatusCondData", "PixelDCSStatusCondData", "Pixel FSM status key"};
 
-  SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData",         "Key of input sensor temperature conditions folder"};
-  SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyHV  {this, "ReadKeyHV",    "PixelDCSHVCondData",           "Key of input bias voltage conditions folder"};
+  SG::ReadCondHandleKey<PixelModuleData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData",         "Key of input sensor temperature conditions folder"};
+  SG::ReadCondHandleKey<PixelModuleData> m_readKeyHV  {this, "ReadKeyHV",    "PixelDCSHVCondData",           "Key of input bias voltage conditions folder"};
 
   ServiceHandle<IPixelByteStreamErrorsSvc> m_pixelBSErrorsSvc;
   ToolHandle<ISiLorentzAngleTool> m_lorentzAngleTool{this, "LorentzAngleTool", "SiLorentzAngleTool", "Tool to retreive Lorentz angle"};