/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
OFMassSvc Class Reference

#include <OFMassSvc.h>

Inheritance diagram for OFMassSvc:
Inheritance graph
[legend]
Collaboration diagram for OFMassSvc:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 OFMassSvc (const std::string &name, ISvcLocator *svc)
 ~OFMassSvc ()
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode queryInterface (const InterfaceID &id, void **interface)
virtual StatusCode printOFMass (const ServiceMode &svcMode)
DayaBay::OFMassData getOFMasses (const ServiceMode &svcMode)
DayaBay::OFHeightData getOFHeights (const ServiceMode &svcMode)
double getGdMass (const ServiceMode &svcMode)
double getGdMassErr_rel (const ServiceMode &svcMode)
double getGdMassErr_abs (const ServiceMode &svcMode)
double getLSMass (const ServiceMode &svcMode)
double getLSMassErr (const ServiceMode &svcMode)
double getGdTemp (const ServiceMode &svcMode)
double getLSTemp (const ServiceMode &svcMode)

Static Public Member Functions

static const InterfaceID & interfaceID ()

Private Member Functions

int getPhysAdIndex (const Site::Site_t &site, const DetectorId::DetectorId_t &detID)
double calcN2Pressure (const double T, const double rho)
double calcSoundSpeedInN2 (const double temperature_C, const double pressure_kPa)
StatusCode convertOFHeightsToMasses ()
void setLidSensorCalibrations ()
StatusCode readLidSensorTable (const ServiceMode &svcMode)

Private Attributes

IMessageSvc * m_msgSvc
DayaBay::OFMassData m_OFMasses
DayaBay::OFHeightData m_OFHeights
double m_gdCalibSlope [9]
double m_gdCalibOffset [9]
double m_gdCalibSoundVel [9]
double m_gdCalibUncertainty
double m_lsCalibSlope [9]
double m_lsCalibOffset [9]
double m_lsCalibSoundVel [9]
double m_lsCalibUncertainty
double m_moCalibSlope [9]
double m_moCalibOffset [9]
double m_coverGasPressure
double m_gdDensity
double m_gdDensityErr
double m_lsDensity
double m_lsDensityErr
double m_gdTankTestResidualVol
double m_lsTankTestResidualVol
double m_gdTempCalibSlope [9]
double m_gdTempCalibOffset [9]
double m_gdTemp [9]
double m_lsTempCalibSlope [9]
double m_lsTempCalibOffset [9]
double m_lsTemp [9]
Context lidSensorLastContext
const DbiResultKeylidSensorLastResult

Detailed Description

Definition at line 28 of file OFMassSvc.h.


Constructor & Destructor Documentation

OFMassSvc::OFMassSvc ( const std::string &  name,
ISvcLocator *  svc 
)

Definition at line 50 of file OFMassSvc.cc.

                                                            : Service(name, svc)
{
}
OFMassSvc::~OFMassSvc ( )

Definition at line 54 of file OFMassSvc.cc.

{
}

Member Function Documentation

StatusCode OFMassSvc::initialize ( ) [virtual]

Definition at line 58 of file OFMassSvc.cc.

{
  m_lsDensity = 860.4; //kg/m^3 This needs to be replaced with numbers from AdMassSvc
  m_lsDensityErr = 3;
  m_gdDensity = 856.1;
  m_gdDensityErr = 2.8;

  m_gdTankTestResidualVol = 0.0015; // m^3 see docdb-6009
  m_lsTankTestResidualVol = 0.002; // m^3 see docdb-6009
  StatusCode st = Service::initialize();
  if(st.isFailure()) { 
    throw GaudiException("Couldn't initialize ",name(),st);
    return st;
  }
  m_msgSvc = msgSvc();
  if(!m_msgSvc) {
    return StatusCode::FAILURE;
  }

  MsgStream log(m_msgSvc,"OFMassSvc");
  setLidSensorCalibrations();
  return st;  
}
StatusCode OFMassSvc::finalize ( ) [virtual]

Implements IOFMassSvc.

Definition at line 82 of file OFMassSvc.cc.

{
  return Service::finalize();
}
StatusCode OFMassSvc::queryInterface ( const InterfaceID &  id,
void **  interface 
) [virtual]

Definition at line 87 of file OFMassSvc.cc.

{
  StatusCode sc = StatusCode::FAILURE;
  if(interface) {
    *interface=0;
    if(IOFMassSvc::interfaceID().versionMatch(id)){
      *interface = static_cast<IOFMassSvc*>(this);
      sc = StatusCode::SUCCESS;
      addRef();
    }
    else { sc = Service::queryInterface(id,interface); }
  }
  return sc;
}
StatusCode OFMassSvc::printOFMass ( const ServiceMode svcMode) [virtual]

Implements IOFMassSvc.

Definition at line 202 of file OFMassSvc.cc.

{
  DetectorId::DetectorId_t det = svcMode.context().GetDetId();
  Site::Site_t site = svcMode.context().GetSite();

  int phys_ad = getPhysAdIndex(site,det);

  //Get current information:
  getOFMasses(svcMode);

  std::cout << "OF Mass information from detector " << phys_ad << "\n\t"
            <<      "GdLS height, mass, mass err: " << m_OFHeights.m_gdHeight[phys_ad] << "m "
                                                    << m_OFMasses.m_gdOFMass[phys_ad] << "kg "
                                                    << m_OFMasses.m_gdOFMassErr_rel[phys_ad] << "\n\t"
            <<      "LS height, mass, mass err: "   << m_OFHeights.m_lsHeight[phys_ad] << "m "
                                                    << m_OFMasses.m_lsOFMass[phys_ad] << "kg "
                                                    << m_OFMasses.m_lsOFMassErr[phys_ad] << std::endl;
  return StatusCode::SUCCESS;
}       
DayaBay::OFMassData OFMassSvc::getOFMasses ( const ServiceMode svcMode) [virtual]

Implements IOFMassSvc.

Definition at line 222 of file OFMassSvc.cc.

{
  // Make sure that the height data is current:
  readLidSensorTable(svcMode);

  OFMassSvc::convertOFHeightsToMasses(); // this needs to get the liquid  density information
  return m_OFMasses;
}
DayaBay::OFHeightData OFMassSvc::getOFHeights ( const ServiceMode svcMode) [virtual]

Implements IOFMassSvc.

Definition at line 231 of file OFMassSvc.cc.

{
  readLidSensorTable(svcMode);
  return m_OFHeights;
}
double OFMassSvc::getGdMass ( const ServiceMode svcMode) [virtual]

Implements IOFMassSvc.

Definition at line 290 of file OFMassSvc.cc.

                                                     {

  getOFHeights(svcMode);
  StatusCode st = convertOFHeightsToMasses();
  double mass = m_OFMasses.m_gdOFMass[getPhysAdIndex( svcMode.context().GetSite(), svcMode.context().GetDetId() )];
  return mass;
}
double OFMassSvc::getGdMassErr_rel ( const ServiceMode svcMode) [virtual]

Implements IOFMassSvc.

Definition at line 297 of file OFMassSvc.cc.

                                                            {
  return m_OFMasses.m_gdOFMassErr_rel[getPhysAdIndex( svcMode.context().GetSite(), svcMode.context().GetDetId() )];
}
double OFMassSvc::getGdMassErr_abs ( const ServiceMode svcMode) [virtual]

Implements IOFMassSvc.

Definition at line 300 of file OFMassSvc.cc.

                                                            {
  return m_OFMasses.m_gdOFMassErr_abs[getPhysAdIndex( svcMode.context().GetSite(), svcMode.context().GetDetId() )];
}
double OFMassSvc::getLSMass ( const ServiceMode svcMode)

Definition at line 304 of file OFMassSvc.cc.

                                                     {

  getOFHeights(svcMode);
  StatusCode st = convertOFHeightsToMasses();
  double mass = m_OFMasses.m_lsOFMass[getPhysAdIndex( svcMode.context().GetSite(), svcMode.context().GetDetId() )];
  return mass;
}
double OFMassSvc::getLSMassErr ( const ServiceMode svcMode)

Definition at line 312 of file OFMassSvc.cc.

                                                        {
  return m_OFMasses.m_lsOFMassErr[getPhysAdIndex( svcMode.context().GetSite(), svcMode.context().GetDetId() )];
}
double OFMassSvc::getGdTemp ( const ServiceMode svcMode) [virtual]

Implements IOFMassSvc.

Definition at line 316 of file OFMassSvc.cc.

                                                     {
  getOFHeights(svcMode);
  int index = getPhysAdIndex(svcMode.context().GetSite(),svcMode.context().GetDetId());
  return m_gdTemp[index];
}
double OFMassSvc::getLSTemp ( const ServiceMode svcMode) [virtual]

Implements IOFMassSvc.

Definition at line 322 of file OFMassSvc.cc.

                                                     {
  getOFHeights(svcMode);
  int index = getPhysAdIndex(svcMode.context().GetSite(),svcMode.context().GetDetId());
  return m_lsTemp[index];
}
int OFMassSvc::getPhysAdIndex ( const Site::Site_t site,
const DetectorId::DetectorId_t detID 
) [private]

Definition at line 27 of file OFMassSvc.cc.

                                                                                      {
  int index = 0; // Not an AD that has been installed
  switch (site){
    case Site::kDayaBay:
      if(det==DetectorId::kAD1){index = 1;}
      else if(det==DetectorId::kAD2){index = 2;}
      break;
    case Site::kLingAo:
      if(det==DetectorId::kAD1){index = 3;}
      else if(det==DetectorId::kAD2){index = 8;}
      break;
    case Site::kFar:
      if(det==DetectorId::kAD1){index = 4;}
      else if(det==DetectorId::kAD2){index = 5;}
      else if(det==DetectorId::kAD3){index = 6;}
      else if(det==DetectorId::kAD4){index = 7;}
      break;
    default:
      index=0;  
  }
  return index;
}
double OFMassSvc::calcN2Pressure ( const double  T,
const double  rho 
) [private]

Definition at line 415 of file OFMassSvc.cc.

                                                                 {
        double tau = T_critical / T;
        double delta = rho / rho_critical;
        double S1 = 1.0;        //yes, initialize accumulator to 1
        int k=0;
        for(; k<10; k++)
                S1 += I[k] * N[k] * pow(delta, I[k]) * pow(tau, J[k]);
        return rho * R * T * S1;
}
double OFMassSvc::calcSoundSpeedInN2 ( const double  temperature_C,
const double  pressure_kPa 
) [private]

Definition at line 355 of file OFMassSvc.cc.

                                                                                          {
        const double T = 273.15 + temperature_C;
        const double tau = T_critical / T;

        //calculate the density of N2 from the pressure and temperature
        //start with a guess from the ideal gas law, then refine it with a secant iteration
        double rho_0 = pressure_kPa/(R*T);

        //secant requires two initial guesses; use 98% and 102% of the ideal gas value as starting guesses
        double rho_o = 0.98*rho_0;
        double rho_i = 1.02*rho_0;

        //secant method iteration
        double tol = 1e-10;     //convergence tolerance; 10^-10 works well
        int k = 0;      //iteration count
        int kStop = 100;//limit number of iterations

        double p_o = calcN2Pressure(T, rho_o);
        double delta_rho = rho_i - rho_o;
        double rho_new, p_i;
        do {
                p_i = calcN2Pressure(T, rho_i);
                rho_new = rho_i - (p_i - pressure_kPa)*delta_rho/(p_i - p_o);
                rho_o = rho_i;
                rho_i = rho_new;
                p_o = p_i;
                delta_rho = rho_i - rho_o;
                delta_rho = delta_rho > 0.0 ? delta_rho : -delta_rho;   //built-in abs() is int-only?? *so* not fixing this now.
        } while((delta_rho > tol) && (k < kStop));

        //rho_i is now the density of N2 at the provided T and p
        const double delta = rho_i / rho_critical;

        double E1=0, E2=0, E3=0, E4=0, s, x;
        for(k=0; k<10; k++) {
                s = N[k] * pow(delta, I[k]) * pow(tau, J[k]);
                x = I[k] * s;
                E1 += x;
                E2 += (I[k] - 1.0) * x;
                E3 += J[k] * (J[k] - 1.0) * s;
                E4 += J[k] * x;
        }
        double E5 = A4prime * pow(tau, -7) - A1;
        double F1 = 1 + E1 - E4;
        double F2 = 1 + 2*E1 + E2;

        //correction for high-frequency sound not exciting the vibrational modes of the N2 molecule
        double u = u0 / T;
        double eu = exp(u);
        double eum1 = eu - 1.0;
        double Cvib = alpha4 * u * u * eu / (eum1 * eum1);

        double Cv = -(E3 + E5);
        double Cp = Cv + (F1 * F1)/F2;

        double corr = (Cp - Cvib)/(Cv - Cvib);

        return sqrt(F2 * corr * RpM * T);
}
StatusCode OFMassSvc::convertOFHeightsToMasses ( ) [private]

Definition at line 157 of file OFMassSvc.cc.

                                              {
  // Parameters for converting the GdLS height to a mass
  double p0_gd0=2.9314e4;
  double p1_gd0=1.24477e6;

  double p0_gd1=-6.81355e5;
  double p1_gd1=1.26095e6;
  double p2_gd1=-8.3628e1;
  double h, h_err; 

  // Parameters for converting LS height to mass
  double p0_ls0=0.00762382;
  double p1_ls0=0.00114774;
  double h_ls, h_ls_err;

  for(int i=1; i<9; i++){
      h=m_OFHeights.m_gdHeight[i]*1000.;
      h_err=m_OFHeights.m_gdHeightErr[i]*1000.;
    if(h>0 && h<=65){
      m_OFMasses.m_gdOFMass[i] = (p1_gd0*h+p0_gd0)/1.e9*m_gdDensity;
      m_OFMasses.m_gdOFMassErr_abs[i] = sqrt( pow((h*p1_gd0+p0_gd0)/1.e9*m_gdDensityErr,2)
                                             +pow(m_gdDensity/1.e9*p1_gd0*h_err,2) + pow(m_gdTankTestResidualVol*m_gdDensity,2) );
      m_OFMasses.m_gdOFMassErr_rel[i] = sqrt( pow(m_gdDensity/1.e9*p1_gd0*h_err,2) + pow(m_gdTankTestResidualVol*m_gdDensity,2) );
    }
    else if (h>65){
      m_OFMasses.m_gdOFMass[i] = (p2_gd1*h*h+p1_gd1*h+p0_gd1)/1.e9*m_gdDensity;
      m_OFMasses.m_gdOFMassErr_abs[i] = sqrt( pow((h*h*p2_gd1+h*p1_gd1+p0_gd1)/1.e9*m_gdDensityErr,2)
                                             +pow(m_gdDensity/1.e9*(2*p2_gd1*h+p1_gd1),2) + pow(m_gdTankTestResidualVol*m_gdDensity,2) );
      m_OFMasses.m_gdOFMassErr_rel[i] = sqrt( pow(m_gdDensity/1.e9*(2*p2_gd1*h+p1_gd1),2) + pow(m_gdTankTestResidualVol*m_gdDensity,2) );
    }
    std::cout << "h= "<< h << "mass= " << m_OFMasses.m_gdOFMass[i] << "err= " << m_OFMasses.m_gdOFMassErr_rel[i] << std::endl;  
    // LS
    h_ls=m_OFHeights.m_lsHeight[i]*1000.;
    h_ls_err=m_OFHeights.m_lsHeightErr[i]*1000.;
    m_OFMasses.m_lsOFMass[i] = (p1_ls0*h_ls+p0_ls0)*m_lsDensity;
    m_OFMasses.m_lsOFMassErr[i] = sqrt( pow((h_ls*p1_ls0+p0_ls0)*m_lsDensityErr,2)
                                       +pow(m_lsDensity*p1_ls0*h_ls_err,2) + pow(m_lsTankTestResidualVol*m_lsDensity,2) );
    std::cout << "h_ls= "<<h_ls << "mass= " << m_OFMasses.m_lsOFMass[i] << " d: "<< m_lsDensity << std::endl;
  }
   

  // TODO: Add MO conversion as well
  return StatusCode::SUCCESS; 
}
void OFMassSvc::setLidSensorCalibrations ( ) [private]

Definition at line 102 of file OFMassSvc.cc.

                                        {
//from calibrations at UW               from tank bottom value for sensor (NOTE RECENT CHANGE)
  m_gdCalibSlope[0]=10000.;             m_gdCalibOffset[0]=0.;                  m_gdCalibSoundVel[0]=0;
  m_gdCalibSlope[1]=11.454*1000.;       m_gdCalibOffset[1]=240.64/1000.;        m_gdCalibSoundVel[1]=346.07;
  m_gdCalibSlope[2]=11.416*1000.;       m_gdCalibOffset[2]=242.32/1000.;        m_gdCalibSoundVel[2]=345.62;
  m_gdCalibSlope[3]=11.354*1000.;       m_gdCalibOffset[3]=241.33/1000.;        m_gdCalibSoundVel[3]=346.01;
  m_gdCalibSlope[4]=11.369*1000.;       m_gdCalibOffset[4]=239.37/1000.;        m_gdCalibSoundVel[4]=345.51;
  m_gdCalibSlope[5]=11.334*1000.;       m_gdCalibOffset[5]=240.43/1000.;        m_gdCalibSoundVel[5]=345.56;
  m_gdCalibSlope[6]=11.366*1000.;       m_gdCalibOffset[6]=240.73/1000.;        m_gdCalibSoundVel[6]=345.56;
  m_gdCalibSlope[7]=10000.;             m_gdCalibOffset[7]=0.;                  m_gdCalibSoundVel[7]=0.;
  m_gdCalibSlope[8]=10000.;             m_gdCalibOffset[8]=0.;                  m_gdCalibSoundVel[8]=0.;
//from calibration at UW                from tank bottom value for sensor (NOTE RECENT CHANGE)
  m_lsCalibSlope[0]=10000.;             m_lsCalibOffset[0]=0.;                  m_lsCalibSoundVel[0]=0;
  m_lsCalibSlope[1]=11.384*1000.;       m_lsCalibOffset[1]=249.24/1000.;        m_lsCalibSoundVel[1]=346.26;
  m_lsCalibSlope[2]=11.638*1000.;       m_lsCalibOffset[2]=242.77/1000.;        m_lsCalibSoundVel[2]=346.13;
  m_lsCalibSlope[3]=11.382*1000.;       m_lsCalibOffset[3]=246.47/1000.;        m_lsCalibSoundVel[3]=345.74;
  m_lsCalibSlope[4]=11.451*1000.;       m_lsCalibOffset[4]=242.57/1000.;        m_lsCalibSoundVel[4]=345.71;
  m_lsCalibSlope[5]=11.403*1000.;       m_lsCalibOffset[5]=245.21/1000.;        m_lsCalibSoundVel[5]=345.49;
  m_lsCalibSlope[6]=11.378*1000.;       m_lsCalibOffset[6]=245.27/1000.;        m_lsCalibSoundVel[6]=346.22;
  m_lsCalibSlope[7]=10000.;             m_lsCalibOffset[7]=0.;                  m_lsCalibSoundVel[7]=0;
  m_lsCalibSlope[8]=10000.;             m_lsCalibOffset[8]=0.;                  m_lsCalibSoundVel[8]=0;

  m_gdCalibUncertainty = 0.001; // m 
  m_lsCalibUncertainty = 0.001; // m

  //Use a nominal value for the cover gas pressure; this only affects the calculation of the speed of sound in the overflow tanks,
  //    and the dependence of the speed of sound on pressure is very small (0.02% going from 14 psi to 21 psi at 22 deg C)
  m_coverGasPressure = 144.8;   //in kPa; 21 psi = 144.8 kPa

  // TODO: Add capacitance sensor calibrations

  m_gdTempCalibSlope[0]=0.;   m_gdTempCalibOffset[0]=0;
  m_gdTempCalibSlope[1]=1.;   m_gdTempCalibOffset[1]=0.256;
  m_gdTempCalibSlope[2]=1.;   m_gdTempCalibOffset[2]=-0.026;
  m_gdTempCalibSlope[3]=1.;   m_gdTempCalibOffset[3]=0.07;
  m_gdTempCalibSlope[4]=1.;   m_gdTempCalibOffset[4]=0.24;
  m_gdTempCalibSlope[5]=0.996;   m_gdTempCalibOffset[5]=0.356;
  m_gdTempCalibSlope[6]=0.997;   m_gdTempCalibOffset[6]=0.283;
  m_gdTempCalibSlope[7]=0.992;   m_gdTempCalibOffset[7]=0.391;
  m_gdTempCalibSlope[8]=0.992;   m_gdTempCalibOffset[8]=0.262;
  
  m_lsTempCalibSlope[0]=0.;   m_lsTempCalibOffset[0]=0.;
  m_lsTempCalibSlope[1]=1.;   m_lsTempCalibOffset[1]=0.156;
  m_lsTempCalibSlope[2]=1.;   m_lsTempCalibOffset[2]=0.13;
  m_lsTempCalibSlope[3]=1.;   m_lsTempCalibOffset[3]=0.05;
  m_lsTempCalibSlope[4]=1.;   m_lsTempCalibOffset[4]=0.005;
  m_lsTempCalibSlope[5]=0.992;   m_lsTempCalibOffset[5]=0.451;
  m_lsTempCalibSlope[6]=0.995;   m_lsTempCalibOffset[6]=-0.16;
  m_lsTempCalibSlope[7]=0.995;   m_lsTempCalibOffset[7]=0.355;
  m_lsTempCalibSlope[8]=0.996;   m_lsTempCalibOffset[8]=0.220;

}
StatusCode OFMassSvc::readLidSensorTable ( const ServiceMode svcMode) [private]

Definition at line 238 of file OFMassSvc.cc.

{
  // Code to get into dbi table and crunch numbers goes here

  // FIXME: this condition should probably check that the time hasn't changed by
  // more than ~hour instead
  if(svcMode.context() == lidSensorLastContext){
    return StatusCode::SUCCESS;
  }
  lidSensorLastContext = svcMode.context();

  
  DbiResultPtr<GDcsAdLidSensor> ptr("DcsAdLidSensor",lidSensorLastContext,lidSensorLastContext.GetDetId());
  const DbiResultKey* thisResult = ptr.GetKey();
  // TODO: check whether last result and this result match (also check if null result?)
  lidSensorLastResult = thisResult;

  std::cout << "Number of DcsAdLidSensor rows: " << ptr.GetNumRows() << std::endl;
  if(ptr.GetNumRows() == 0){
    std::cout << " Warning - no lid sensor data for current context. Last height with data will be used" << std::endl;
    return StatusCode::SUCCESS;
  }
  else if(ptr.GetNumRows() >1 ){
    std::cout << " Odd.. there were multiple entries for current context. Will use 0th row " << std::endl;
  }
  const GDcsAdLidSensor* row;
  row = ptr.GetRowByIndex(0);
 
  int index = getPhysAdIndex(lidSensorLastContext.GetSite(),lidSensorLastContext.GetDetId());
  // Note: m_gdHeight[blah] must be in units of meters
  double speed_of_sound_ratio;

  speed_of_sound_ratio = calcSoundSpeedInN2(row->GetTemp_GdLS_avg(), m_coverGasPressure)/m_gdCalibSoundVel[index];
  m_OFHeights.m_gdHeight[index] = m_gdCalibOffset[index] - (row->GetUltrasonic_GdLS_avg()/m_gdCalibSlope[index])*(speed_of_sound_ratio);
  m_OFHeights.m_gdHeightErr[index] = sqrt( pow((row->GetUltrasonic_GdLS_std()/m_gdCalibSlope[index]) * speed_of_sound_ratio,2) 
                                         + pow(m_gdCalibUncertainty,2) );

  speed_of_sound_ratio = calcSoundSpeedInN2(row->GetTemp_LS_avg(), m_coverGasPressure)/m_lsCalibSoundVel[index];
  m_OFHeights.m_lsHeight[index] = m_lsCalibOffset[index] - (row->GetUltrasonic_LS_avg()/m_lsCalibSlope[index])*(speed_of_sound_ratio);
  m_OFHeights.m_lsHeightErr[index] = sqrt( pow((row->GetUltrasonic_LS_std()/m_lsCalibSlope[index]) * speed_of_sound_ratio,2)
                                         + pow(m_lsCalibUncertainty,2) ) ;

  m_gdTemp[index] = m_gdTempCalibSlope[index]*row->GetTemp_GdLS_avg()+m_gdTempCalibOffset[index];
  m_lsTemp[index] = m_lsTempCalibSlope[index]*row->GetTemp_LS_avg()+m_lsTempCalibOffset[index];

  std::cout << " gdHeight AD: " << index << " = " << m_OFHeights.m_gdHeight[index] << "+/-" << m_OFHeights.m_gdHeightErr[index] << std::endl;
  std::cout << " lsHeight AD: " << index << " = " << m_OFHeights.m_lsHeight[index] << "+/-" << m_OFHeights.m_lsHeightErr[index] << std::endl;

  return StatusCode::SUCCESS;
}

Member Data Documentation

IMessageSvc* OFMassSvc::m_msgSvc [private]

Definition at line 59 of file OFMassSvc.h.

Definition at line 60 of file OFMassSvc.h.

Definition at line 61 of file OFMassSvc.h.

double OFMassSvc::m_gdCalibSlope[9] [private]

Definition at line 63 of file OFMassSvc.h.

double OFMassSvc::m_gdCalibOffset[9] [private]

Definition at line 64 of file OFMassSvc.h.

double OFMassSvc::m_gdCalibSoundVel[9] [private]

Definition at line 65 of file OFMassSvc.h.

Definition at line 66 of file OFMassSvc.h.

double OFMassSvc::m_lsCalibSlope[9] [private]

Definition at line 68 of file OFMassSvc.h.

double OFMassSvc::m_lsCalibOffset[9] [private]

Definition at line 69 of file OFMassSvc.h.

double OFMassSvc::m_lsCalibSoundVel[9] [private]

Definition at line 70 of file OFMassSvc.h.

Definition at line 71 of file OFMassSvc.h.

double OFMassSvc::m_moCalibSlope[9] [private]

Definition at line 73 of file OFMassSvc.h.

double OFMassSvc::m_moCalibOffset[9] [private]

Definition at line 74 of file OFMassSvc.h.

Definition at line 76 of file OFMassSvc.h.

double OFMassSvc::m_gdDensity [private]

Definition at line 80 of file OFMassSvc.h.

double OFMassSvc::m_gdDensityErr [private]

Definition at line 81 of file OFMassSvc.h.

double OFMassSvc::m_lsDensity [private]

Definition at line 82 of file OFMassSvc.h.

double OFMassSvc::m_lsDensityErr [private]

Definition at line 83 of file OFMassSvc.h.

Definition at line 85 of file OFMassSvc.h.

Definition at line 86 of file OFMassSvc.h.

double OFMassSvc::m_gdTempCalibSlope[9] [private]

Definition at line 90 of file OFMassSvc.h.

double OFMassSvc::m_gdTempCalibOffset[9] [private]

Definition at line 91 of file OFMassSvc.h.

double OFMassSvc::m_gdTemp[9] [private]

Definition at line 92 of file OFMassSvc.h.

double OFMassSvc::m_lsTempCalibSlope[9] [private]

Definition at line 93 of file OFMassSvc.h.

double OFMassSvc::m_lsTempCalibOffset[9] [private]

Definition at line 94 of file OFMassSvc.h.

double OFMassSvc::m_lsTemp[9] [private]

Definition at line 95 of file OFMassSvc.h.

Definition at line 98 of file OFMassSvc.h.

Definition at line 99 of file OFMassSvc.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:58:04 for TargetProtonsSvc by doxygen 1.7.4