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

///////////////////////////////////////////////////////////////////////////////
//
// ALens
//
// Lens class
//
///////////////////////////////////////////////////////////////////////////////

#include "ALens.h"

ClassImp(ALens);

ALens::ALens() : fIndex(NULL) {
  // Default constructor
  SetLineColor(7);
}

//_____________________________________________________________________________
ALens::ALens(const char* name, const TGeoShape* shape, const TGeoMedium* med)
    : AOpticalComponent(name, shape, med), fIndex(NULL) {
  SetLineColor(7);
#if ROOT_VERSION(5, 34, 16) <= ROOT_VERSION_CODE
  if (GetMedium() == TGeoVolume::DummyMedium() ||
      GetMedium() == GetOpaqueVacuumMedium()) {
    SetMedium(GetTransparentVacuumMedium());
  }
#endif
}

//_____________________________________________________________________________
Double_t ALens::GetAbsorptionLength(Double_t lambda) const {
  if (!fIndex) {
    return std::numeric_limits<Double_t>::infinity();
  }

  Double_t abs = fIndex->GetAbsorptionLength(lambda);

  return abs;
}

//_____________________________________________________________________________
Double_t ALens::GetExtinctionCoefficient(Double_t lambda) const {
  if (!fIndex) {
    return 0;
  }

  Double_t ex = fIndex->GetExtinctionCoefficient(lambda);

  return ex;
}

//_____________________________________________________________________________
Double_t ALens::GetRefractiveIndex(Double_t lambda) const {
  return fIndex ? fIndex->GetRefractiveIndex(lambda) : 1.;
}
 ALens.cxx:1
 ALens.cxx:2
 ALens.cxx:3
 ALens.cxx:4
 ALens.cxx:5
 ALens.cxx:6
 ALens.cxx:7
 ALens.cxx:8
 ALens.cxx:9
 ALens.cxx:10
 ALens.cxx:11
 ALens.cxx:12
 ALens.cxx:13
 ALens.cxx:14
 ALens.cxx:15
 ALens.cxx:16
 ALens.cxx:17
 ALens.cxx:18
 ALens.cxx:19
 ALens.cxx:20
 ALens.cxx:21
 ALens.cxx:22
 ALens.cxx:23
 ALens.cxx:24
 ALens.cxx:25
 ALens.cxx:26
 ALens.cxx:27
 ALens.cxx:28
 ALens.cxx:29
 ALens.cxx:30
 ALens.cxx:31
 ALens.cxx:32
 ALens.cxx:33
 ALens.cxx:34
 ALens.cxx:35
 ALens.cxx:36
 ALens.cxx:37
 ALens.cxx:38
 ALens.cxx:39
 ALens.cxx:40
 ALens.cxx:41
 ALens.cxx:42
 ALens.cxx:43
 ALens.cxx:44
 ALens.cxx:45
 ALens.cxx:46
 ALens.cxx:47
 ALens.cxx:48
 ALens.cxx:49
 ALens.cxx:50
 ALens.cxx:51
 ALens.cxx:52
 ALens.cxx:53
 ALens.cxx:54
 ALens.cxx:55
 ALens.cxx:56
 ALens.cxx:57
 ALens.cxx:58
 ALens.cxx:59
 ALens.cxx:60