ROBAST logo
// Author: Akira Okumura <mailto:oxon@mac.com>
/******************************************************************************
 * Copyright (C) 2006-, Akira Okumura                                         *
 * All rights reserved.                                                       *
 *****************************************************************************/

#ifndef A_GLASS_CALTALOG_H
#define A_GLASS_CALTALOG_H

#include <map>
#include <memory>

#include "ACauchyFormula.h"
#include "ASchottFormula.h"
#include "ASellmeierFormula.h"
#include "TObject.h"

///////////////////////////////////////////////////////////////////////////////
//
// AGlassCatalog
//
// Glass catalog
//
///////////////////////////////////////////////////////////////////////////////

class AGlassCatalog : public TObject {
 private:
  std::map<std::string, std::shared_ptr<ARefractiveIndex>> fIndexMap;

 public:
  AGlassCatalog();
  AGlassCatalog(const std::string& catalog_file);
  virtual ~AGlassCatalog();

  std::shared_ptr<ARefractiveIndex> GetRefractiveIndex(const std::string& name);

  ClassDef(AGlassCatalog, 0)
};

#endif  // A_GLASS_CALTALOG_H
 AGlassCatalog.h:1
 AGlassCatalog.h:2
 AGlassCatalog.h:3
 AGlassCatalog.h:4
 AGlassCatalog.h:5
 AGlassCatalog.h:6
 AGlassCatalog.h:7
 AGlassCatalog.h:8
 AGlassCatalog.h:9
 AGlassCatalog.h:10
 AGlassCatalog.h:11
 AGlassCatalog.h:12
 AGlassCatalog.h:13
 AGlassCatalog.h:14
 AGlassCatalog.h:15
 AGlassCatalog.h:16
 AGlassCatalog.h:17
 AGlassCatalog.h:18
 AGlassCatalog.h:19
 AGlassCatalog.h:20
 AGlassCatalog.h:21
 AGlassCatalog.h:22
 AGlassCatalog.h:23
 AGlassCatalog.h:24
 AGlassCatalog.h:25
 AGlassCatalog.h:26
 AGlassCatalog.h:27
 AGlassCatalog.h:28
 AGlassCatalog.h:29
 AGlassCatalog.h:30
 AGlassCatalog.h:31
 AGlassCatalog.h:32
 AGlassCatalog.h:33
 AGlassCatalog.h:34
 AGlassCatalog.h:35
 AGlassCatalog.h:36
 AGlassCatalog.h:37
 AGlassCatalog.h:38
 AGlassCatalog.h:39
 AGlassCatalog.h:40