# Complex-valued IOR curves for a few metals

from scipy import interpolate

lambda_gold = [298.75705, 302.400421, 306.133759, 309.960449, 313.884003, 317.908142,
    322.036835, 326.274139, 330.624481, 335.092377, 339.682678, 344.400482,
    349.251221, 354.240509, 359.37442, 364.659332, 370.10202, 375.709625,
    381.489777, 387.450562, 393.600555, 399.948975, 406.505493, 413.280579,
    420.285339, 427.531647, 435.032196, 442.800629, 450.851562, 459.200653,
    467.864838, 476.862213, 486.212463, 495.936707, 506.057861, 516.600769,
    527.592224, 539.061646, 551.040771, 563.564453, 576.670593, 590.400818,
    604.800842, 619.920898, 635.816284, 652.548279, 670.184753, 688.800964,
    708.481018, 729.318665, 751.41925, 774.901123, 799.897949, 826.561157,
    855.063293, 885.601257]

eta_gold = [1.795+1.920375j, 1.812+1.92j, 1.822625+1.918875j, 1.83+1.916j,
    1.837125+1.911375j, 1.84+1.904j, 1.83425+1.891375j,
    1.824+1.878j, 1.812+1.86825j, 1.798+1.86j, 1.782+1.85175j,
    1.766+1.846j, 1.7525+1.84525j, 1.74+1.848j, 1.727625+1.852375j,
    1.716+1.862j, 1.705875+1.883j, 1.696+1.906j, 1.68475+1.9225j,
    1.674+1.936j, 1.666+1.94775j, 1.658+1.956j, 1.64725+1.959375j,
    1.636+1.958j, 1.628+1.951375j, 1.616+1.94j, 1.59625+1.9245j,
    1.562+1.904j, 1.502125+1.875875j, 1.426+1.846j,
    1.345875+1.814625j, 1.242+1.796j, 1.08675+1.797375j,
    0.916+1.84j, 0.7545+1.9565j, 0.608+2.12j, 0.49175+2.32625j,
    0.402+2.54j, 0.3455+2.730625j, 0.306+2.88j, 0.267625+2.940625j,
    0.236+2.97j, 0.212375+3.015j, 0.194+3.06j, 0.17775+3.07j,
    0.166+3.15j, 0.161+3.445812j, 0.16+3.8j, 0.160875+4.087687j,
    0.164+4.357j, 0.1695+4.610188j, 0.176+4.86j,
    0.181375+5.125813j, 0.188+5.39j, 0.198125+5.63125j, 0.21+5.88j]

lambda_aluminium = [298.75705, 302.400421, 306.133759, 309.960449, 313.884003,
    317.908142, 322.036835, 326.274139, 330.624481, 335.092377, 339.682678,
    344.400482, 349.251221, 354.240509, 359.37442, 364.659332, 370.10202,
    375.709625, 381.489777, 387.450562, 393.600555, 399.948975, 406.505493,
    413.280579, 420.285339, 427.531647, 435.032196, 442.800629, 450.851562,
    459.200653, 467.864838, 476.862213, 486.212463, 495.936707, 506.057861,
    516.600769, 527.592224, 539.061646, 551.040771, 563.564453, 576.670593,
    590.400818, 604.800842, 619.920898, 635.816284, 652.548279, 670.184753,
    688.800964, 708.481018, 729.318665, 751.41925, 774.901123, 799.897949,
    826.561157, 855.063293, 885.601257]

eta_aluminium = [(0.273375+3.59375j), (0.28+3.64j), (0.286813+3.689375j),
    (0.294+3.74j), (0.301875+3.789375j), (0.31+3.84j),
    (0.317875+3.894375j), (0.326+3.95j), (0.33475+4.005j), (0.344+4.06j),
    (0.353813+4.11375j), (0.364+4.17j), (0.374375+4.23375j), (0.385+4.3j),
    (0.39575+4.365j), (0.407+4.43j), (0.419125+4.49375j), (0.432+4.56j),
    (0.445688+4.63375j), (0.46+4.71j), (0.474688+4.784375j), (0.49+4.86j),
    (0.506188+4.938125j), (0.523+5.02j), (0.540063+5.10875j), (0.558+5.2j),
    (0.577313+5.29j), (0.598+5.38j), (0.620313+5.48j), (0.644+5.58j),
    (0.668625+5.69j), (0.695+5.8j), (0.72375+5.915j), (0.755+6.03j),
    (0.789+6.15j), (0.826+6.28j), (0.867+6.42j), (0.912+6.55j),
    (0.963+6.7j), (1.02+6.85j), (1.08+7j), (1.15+7.15j), (1.22+7.31j),
    (1.3+7.48j), (1.39+7.65j), (1.49+7.82j), (1.6+8.01j), (1.74+8.21j),
    (1.91+8.39j), (2.14+8.57j), (2.41+8.62j), (2.63+8.6j), (2.8+8.45j),
    (2.74+8.31j), (2.58+8.21j), (2.24+8.21j)]

lambda_copper = [302.400421, 306.133759, 309.960449, 313.884003, 317.908142,
    322.036835, 326.274139, 330.624481, 335.092377, 339.682678, 344.400482,
    349.251221, 354.240509, 359.37442, 364.659332, 370.10202, 375.709625,
    381.489777, 387.450562, 393.600555, 399.948975, 406.505493, 413.280579,
    420.285339, 427.531647, 435.032196, 442.800629, 450.851562, 459.200653,
    467.864838, 476.862213, 486.212463, 495.936707, 506.057861, 516.600769,
    527.592224, 539.061646, 551.040771, 563.564453, 576.670593, 590.400818,
    604.800842, 619.920898, 635.816284, 652.548279, 670.184753, 688.800964,
    708.481018, 729.318665, 751.41925, 774.901123, 799.897949, 826.561157,
    855.063293, 885.601257]

eta_copper = [(1.38+1.687j), (1.358438+1.703313j), (1.34+1.72j),
    (1.329063+1.744563j), (1.325+1.77j), (1.3325+1.791625j), (1.34+1.81j),
    (1.334375+1.822125j), (1.325+1.834j), (1.317812+1.85175j),
    (1.31+1.872j), (1.300313+1.89425j), (1.29+1.916j),
    (1.281563+1.931688j), (1.27+1.95j), (1.249062+1.972438j),
    (1.225+2.015j), (1.2+2.121562j), (1.18+2.21j), (1.174375+2.177188j),
    (1.175+2.13j), (1.1775+2.160063j), (1.18+2.21j), (1.178125+2.249938j),
    (1.175+2.289j), (1.172812+2.326j), (1.17+2.362j), (1.165312+2.397625j),
    (1.16+2.433j), (1.155312+2.469187j), (1.15+2.504j),
    (1.142812+2.535875j), (1.135+2.564j), (1.131562+2.589625j),
    (1.12+2.605j), (1.092437+2.595562j), (1.04+2.583j), (0.950375+2.5765j),
    (0.826+2.599j), (0.645875+2.678062j), (0.468+2.809j),
    (0.35125+3.01075j), (0.272+3.24j), (0.230813+3.458187j), (0.214+3.67j),
    (0.20925+3.863125j), (0.213+4.05j), (0.21625+4.239563j), (0.223+4.43j),
    (0.2365+4.619563j), (0.25+4.817j), (0.254188+5.034125j), (0.26+5.26j),
    (0.28+5.485625j), (0.3+5.717j)]

lambda_chrome = [300.194, 307.643005, 316.276001, 323.708008, 333.279999,
    341.542999, 351.217987, 362.514984, 372.312012, 385.031006, 396.10202,
    409.175018, 424.58902, 438.09201, 455.80899, 471.406982, 490.040009,
    512.314026, 532.102966, 558.468018, 582.06604, 610.739014, 700.452026,
    815.65802, 826.53302, 849.17804, 860.971985, 885.570984]

eta_chrome = [(0.98+2.67j), (1.02+2.76j), (1.06+2.85j), (1.12+2.95j),
    (1.18+3.04j), (1.26+3.12j), (1.33+3.18j), (1.39+3.24j), (1.43+3.31j),
    (1.44+3.4j), (1.48+3.54j), (1.54+3.71j), (1.65+3.89j), (1.8+4.06j),
    (1.99+4.22j), (2.22+4.36j), (2.49+4.44j), (2.75+4.46j), (2.98+4.45j),
    (3.18+4.41j), (3.34+4.38j), (3.48+4.36j), (3.84+4.37j), (4.23+4.34j),
    (4.27+4.33j), (4.31+4.32j), (4.33+4.32j), (4.38+4.31j)]

gold = interpolate.interp1d(lambda_gold, eta_gold, kind='cubic')
copper = interpolate.interp1d(lambda_copper, eta_copper, kind='cubic')
aluminium = interpolate.interp1d(lambda_aluminium, eta_aluminium, kind='cubic')
chrome = interpolate.interp1d(lambda_chrome, eta_chrome, kind='cubic')
