ROOT logo
// $Id: ALens.h 3 2010-11-26 17:17:31Z oxon $
// Author: Akira Okumura 2007/09/24

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

#ifndef A_LENS_H
#define A_LENS_H

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

#ifndef A_OPTICAL_COMPONENT_H
#include "AOpticalComponent.h"
#endif
#ifndef A_REFRACTIVE_INDEX_H
#include "ARefractiveIndex.h"
#endif

class ALens : public AOpticalComponent {
 private:
  ARefractiveIndex* fIndex; // Refractive index
  Double_t          fConstantIndex; // Constant refractive index
  Double_t          fConstantAbsorptionLength; // Absorption length of the material

 public:
  ALens();
  ALens(const char* name, const TGeoShape* shape, const TGeoMedium* med = 0);
  virtual ~ALens();

  virtual Double_t GetRefractiveIndex(Double_t lambda) const;
  virtual Double_t GetAbsorptionLength(Double_t lambda) const {return fConstantAbsorptionLength;}
  virtual void     SetConstantAbsorptionLength(Double_t length) {fConstantAbsorptionLength = length;}
  virtual void     SetConstantRefractiveIndex(Double_t index) {fConstantIndex = index;}
  virtual void     SetRefractiveIndex(ARefractiveIndex* index) {fIndex = index;}


  ClassDef(ALens, 1)
};

#endif // A_LENS_H
 ALens.h:1
 ALens.h:2
 ALens.h:3
 ALens.h:4
 ALens.h:5
 ALens.h:6
 ALens.h:7
 ALens.h:8
 ALens.h:9
 ALens.h:10
 ALens.h:11
 ALens.h:12
 ALens.h:13
 ALens.h:14
 ALens.h:15
 ALens.h:16
 ALens.h:17
 ALens.h:18
 ALens.h:19
 ALens.h:20
 ALens.h:21
 ALens.h:22
 ALens.h:23
 ALens.h:24
 ALens.h:25
 ALens.h:26
 ALens.h:27
 ALens.h:28
 ALens.h:29
 ALens.h:30
 ALens.h:31
 ALens.h:32
 ALens.h:33
 ALens.h:34
 ALens.h:35
 ALens.h:36
 ALens.h:37
 ALens.h:38
 ALens.h:39
 ALens.h:40
 ALens.h:41
 ALens.h:42
 ALens.h:43
 ALens.h:44
 ALens.h:45
 ALens.h:46
 ALens.h:47
 ALens.h:48