ROOT logo
// $Id$
// Author: Akira Okumura 2007/09/24

/******************************************************************************
 * Copyright (C) 2006-, Akira Okumura                                         *
 * All rights reserved.                                                       *
 *****************************************************************************/

///////////////////////////////////////////////////////////////////////////////
//
// ACauchyFormula
//
// Cauchy's formula for calculation of refractive index
// See http://en.wikipedia.org/wiki/Cauchy's_equation
//
///////////////////////////////////////////////////////////////////////////////

#include "ACauchyFormula.h"
#include "AOpticsManager.h"
#include "TMath.h"

ClassImp(ACauchyFormula)

ACauchyFormula::ACauchyFormula()
{
}

//_____________________________________________________________________________
ACauchyFormula::ACauchyFormula(Double_t A, Double_t B, Double_t C)
{
  // n(lambda) = A + B/lambda^2 + C/lambda^4
  // where lambda is measured in (um)
  fPar[0] = A;
  fPar[1] = B;
  fPar[2] = C;
}

//_____________________________________________________________________________
ACauchyFormula::ACauchyFormula(const Double_t* p)
{
  for(Int_t i = 0; i < 3; i++){
    fPar[i] = p[i];
  } // i
}

//_____________________________________________________________________________
Double_t ACauchyFormula::GetIndex(Double_t lambda) const
{
  // Calculate the refractive index at wavelength = lambda (m)
  // Use AOpticsManager::m() to get the unit length in (m)
  lambda /= AOpticsManager::um(); // Convert (m) to (um)
  return fPar[0] + fPar[1]*TMath::Power(lambda, -2) + fPar[2]*TMath::Power(lambda, -4);
}
 ACauchyFormula.cxx:1
 ACauchyFormula.cxx:2
 ACauchyFormula.cxx:3
 ACauchyFormula.cxx:4
 ACauchyFormula.cxx:5
 ACauchyFormula.cxx:6
 ACauchyFormula.cxx:7
 ACauchyFormula.cxx:8
 ACauchyFormula.cxx:9
 ACauchyFormula.cxx:10
 ACauchyFormula.cxx:11
 ACauchyFormula.cxx:12
 ACauchyFormula.cxx:13
 ACauchyFormula.cxx:14
 ACauchyFormula.cxx:15
 ACauchyFormula.cxx:16
 ACauchyFormula.cxx:17
 ACauchyFormula.cxx:18
 ACauchyFormula.cxx:19
 ACauchyFormula.cxx:20
 ACauchyFormula.cxx:21
 ACauchyFormula.cxx:22
 ACauchyFormula.cxx:23
 ACauchyFormula.cxx:24
 ACauchyFormula.cxx:25
 ACauchyFormula.cxx:26
 ACauchyFormula.cxx:27
 ACauchyFormula.cxx:28
 ACauchyFormula.cxx:29
 ACauchyFormula.cxx:30
 ACauchyFormula.cxx:31
 ACauchyFormula.cxx:32
 ACauchyFormula.cxx:33
 ACauchyFormula.cxx:34
 ACauchyFormula.cxx:35
 ACauchyFormula.cxx:36
 ACauchyFormula.cxx:37
 ACauchyFormula.cxx:38
 ACauchyFormula.cxx:39
 ACauchyFormula.cxx:40
 ACauchyFormula.cxx:41
 ACauchyFormula.cxx:42
 ACauchyFormula.cxx:43
 ACauchyFormula.cxx:44
 ACauchyFormula.cxx:45
 ACauchyFormula.cxx:46
 ACauchyFormula.cxx:47
 ACauchyFormula.cxx:48
 ACauchyFormula.cxx:49
 ACauchyFormula.cxx:50
 ACauchyFormula.cxx:51
 ACauchyFormula.cxx:52
 ACauchyFormula.cxx:53