summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-09-26 14:26:51 +0200
committerErich Eckner <git@eckner.net>2017-09-26 14:26:51 +0200
commit706c35a4c3a09d11b40c33f9c582c36ee86e5f02 (patch)
tree2bb01de34e5eebc433442bded6074feaba6e7fae
parentea581336bc987954043e165df6f4ac5210ba4c21 (diff)
downloadepost-706c35a4c3a09d11b40c33f9c582c36ee86e5f02.tar.xz
lambdaZuOmegaTransformation repariert (Achsen)
-rw-r--r--epost.lps139
-rw-r--r--epostunit.pas3
-rw-r--r--typenunit.pas23
-rw-r--r--werteunit.inc4
-rw-r--r--werteunit.pas6
5 files changed, 93 insertions, 82 deletions
diff --git a/epost.lps b/epost.lps
index a5cdef5..4dc431a 100644
--- a/epost.lps
+++ b/epost.lps
@@ -23,8 +23,8 @@
<Filename Value="epostunit.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="1"/>
- <TopLine Value="7311"/>
- <CursorPos X="20" Y="7313"/>
+ <TopLine Value="4754"/>
+ <CursorPos X="36" Y="4447"/>
<UsageCount Value="201"/>
<Loaded Value="True"/>
</Unit2>
@@ -38,19 +38,19 @@
<Unit4>
<Filename Value="werteunit.pas"/>
<IsPartOfProject Value="True"/>
- <IsVisibleTab Value="True"/>
<EditorIndex Value="8"/>
- <TopLine Value="1833"/>
- <CursorPos X="25" Y="1221"/>
+ <TopLine Value="286"/>
+ <CursorPos X="37" Y="306"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="typenunit.pas"/>
<IsPartOfProject Value="True"/>
+ <IsVisibleTab Value="True"/>
<EditorIndex Value="11"/>
- <TopLine Value="2757"/>
- <CursorPos X="31" Y="2786"/>
+ <TopLine Value="2192"/>
+ <CursorPos X="98" Y="2216"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit5>
@@ -77,7 +77,7 @@
<IsPartOfProject Value="True"/>
<EditorIndex Value="10"/>
<CursorPos X="35" Y="10"/>
- <UsageCount Value="134"/>
+ <UsageCount Value="135"/>
<Loaded Value="True"/>
</Unit8>
<Unit9>
@@ -92,7 +92,7 @@
<EditorIndex Value="7"/>
<TopLine Value="585"/>
<CursorPos Y="603"/>
- <UsageCount Value="11"/>
+ <UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit10>
<Unit11>
@@ -100,7 +100,7 @@
<EditorIndex Value="6"/>
<TopLine Value="47"/>
<CursorPos X="63" Y="65"/>
- <UsageCount Value="95"/>
+ <UsageCount Value="96"/>
<Loaded Value="True"/>
</Unit11>
<Unit12>
@@ -113,7 +113,7 @@
<EditorIndex Value="5"/>
<TopLine Value="769"/>
<CursorPos X="15" Y="801"/>
- <UsageCount Value="69"/>
+ <UsageCount Value="70"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
@@ -121,7 +121,7 @@
<EditorIndex Value="2"/>
<TopLine Value="126"/>
<CursorPos X="7" Y="147"/>
- <UsageCount Value="24"/>
+ <UsageCount Value="25"/>
<Loaded Value="True"/>
</Unit14>
<Unit15>
@@ -219,132 +219,131 @@
<Filename Value="werteunit.inc"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="9"/>
- <TopLine Value="151"/>
- <CursorPos X="8" Y="163"/>
- <UsageCount Value="21"/>
+ <TopLine Value="113"/>
+ <CursorPos Y="107"/>
+ <UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit28>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
- <Filename Value="werteunit.pas"/>
- <Caret Line="36" TopLine="36"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="7313" Column="20" TopLine="7311"/>
</Position1>
<Position2>
- <Filename Value="werteunit.pas"/>
- <Caret Line="232" Column="119" TopLine="211"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="7337" Column="38" TopLine="7311"/>
</Position2>
<Position3>
- <Filename Value="werteunit.pas"/>
- <Caret Line="235" Column="46" TopLine="211"/>
+ <Filename Value="epostunit.pas"/>
</Position3>
<Position4>
<Filename Value="epostunit.pas"/>
- <Caret Line="3838" Column="36" TopLine="3822"/>
+ <Caret Line="7315" Column="29" TopLine="7308"/>
</Position4>
<Position5>
<Filename Value="epostunit.pas"/>
- <Caret Line="162" Column="45" TopLine="156"/>
+ <Caret Line="379" Column="19" TopLine="361"/>
</Position5>
<Position6>
<Filename Value="epostunit.pas"/>
- <Caret Line="3698" Column="53" TopLine="3684"/>
+ <Caret Line="3632" Column="53" TopLine="3603"/>
</Position6>
<Position7>
- <Filename Value="epostunit.pas"/>
- <Caret Line="3632" Column="45" TopLine="3614"/>
+ <Filename Value="werteunit.inc"/>
+ <Caret Line="107" Column="57" TopLine="88"/>
</Position7>
<Position8>
<Filename Value="epostunit.pas"/>
- <Caret Line="379" Column="19" TopLine="361"/>
+ <Caret Line="3698" Column="15" TopLine="3672"/>
</Position8>
<Position9>
- <Filename Value="epostunit.pas"/>
- <Caret Line="3632" Column="53" TopLine="3603"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="419" Column="35" TopLine="402"/>
</Position9>
<Position10>
<Filename Value="epostunit.pas"/>
- <Caret Line="3691" Column="25" TopLine="3663"/>
+ <Caret Line="3685" Column="35" TopLine="3672"/>
</Position10>
<Position11>
- <Filename Value="werteunit.pas"/>
- <Caret Line="2122" Column="69" TopLine="2106"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="175" TopLine="175"/>
</Position11>
<Position12>
- <Filename Value="werteunit.pas"/>
- <Caret Line="49" Column="32" TopLine="21"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="6110" TopLine="6094"/>
</Position12>
<Position13>
- <Filename Value="werteunit.pas"/>
- <Caret Line="50" Column="32" TopLine="22"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="2121" Column="26" TopLine="2099"/>
</Position13>
<Position14>
- <Filename Value="werteunit.pas"/>
- <Caret Line="51" Column="32" TopLine="23"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="2192" Column="28" TopLine="2182"/>
</Position14>
<Position15>
- <Filename Value="werteunit.pas"/>
- <Caret Line="492" Column="72" TopLine="449"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="416" Column="31" TopLine="398"/>
</Position15>
<Position16>
- <Filename Value="werteunit.inc"/>
- <Caret Line="10" Column="9"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="2208" Column="14" TopLine="2179"/>
</Position16>
<Position17>
- <Filename Value="werteunit.inc"/>
- <Caret Line="12" Column="9"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="2263" Column="31" TopLine="2235"/>
</Position17>
<Position18>
- <Filename Value="werteunit.inc"/>
- <Caret Line="14" Column="3"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="2181" Column="26" TopLine="2161"/>
</Position18>
<Position19>
- <Filename Value="werteunit.inc"/>
- <Caret Line="13" Column="75"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="2180" Column="42" TopLine="2162"/>
</Position19>
<Position20>
- <Filename Value="werteunit.inc"/>
- <Caret Line="15" Column="3"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="2182" Column="26" TopLine="2147"/>
</Position20>
<Position21>
- <Filename Value="werteunit.inc"/>
- <Caret Line="3" Column="18"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="2180" Column="42" TopLine="2162"/>
</Position21>
<Position22>
- <Filename Value="werteunit.inc"/>
- <Caret Line="30" Column="32" TopLine="16"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="3839" TopLine="3804"/>
</Position22>
<Position23>
- <Filename Value="werteunit.inc"/>
- <Caret Line="54" TopLine="19"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="3652" Column="49" TopLine="3628"/>
</Position23>
<Position24>
- <Filename Value="werteunit.inc"/>
- <Caret Line="55" Column="3" TopLine="30"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="3670" Column="56" TopLine="3642"/>
</Position24>
<Position25>
- <Filename Value="werteunit.inc"/>
- <Caret Line="85" Column="3" TopLine="65"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="3674" Column="56" TopLine="3646"/>
</Position25>
<Position26>
- <Filename Value="werteunit.inc"/>
- <Caret Line="67" Column="9" TopLine="64"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="3698" Column="60" TopLine="3670"/>
</Position26>
<Position27>
- <Filename Value="werteunit.inc"/>
- <Caret Line="100" Column="36" TopLine="88"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="3699" Column="60" TopLine="3671"/>
</Position27>
<Position28>
- <Filename Value="werteunit.pas"/>
- <Caret Line="307" TopLine="307"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="3688" Column="74" TopLine="3662"/>
</Position28>
<Position29>
- <Filename Value="werteunit.inc"/>
- <Caret Line="101" Column="8" TopLine="88"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="170" Column="33" TopLine="154"/>
</Position29>
<Position30>
- <Filename Value="werteunit.inc"/>
- <Caret Line="163" Column="10" TopLine="150"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="416" Column="31" TopLine="403"/>
</Position30>
</JumpHistory>
</ProjectSession>
diff --git a/epostunit.pas b/epostunit.pas
index 4a83049..f5668cb 100644
--- a/epostunit.pas
+++ b/epostunit.pas
@@ -3649,7 +3649,8 @@ begin
gibAus('lambda-zu-omega-Verzerrung berechnen ... ',3);
Zeit:=now;
genauigkeit:=gExtended;
- transformationen:=tLambdaZuOmegaTransformation.create;
+ // c nm eV h
+ transformationen:=tLambdaZuOmegaTransformation.create(299792458/1e-9/1.6021766208e-19*6.626070040e-34); // nm -> eV
transformationen.fuegeVorgaengerHinzu(quelle.transformationen);
bekannteBefehle:=tMyStringList.create;
diff --git a/typenunit.pas b/typenunit.pas
index 7bf5ec6..97e135d 100644
--- a/typenunit.pas
+++ b/typenunit.pas
@@ -414,8 +414,12 @@ type
function dumpParams: string; override;
end;
tLambdaZuOmegaTransformation = class (tKoordinatenTransformation)
+ private
+ _faktor: extended;
+ public
horizontal, vertikal: boolean;
constructor create; overload;
+ constructor create(faktor: extended); overload;
function verhaeltnisHorizontal: extended;
function verhaeltnisVertikal: extended;
function wertZuPositionAufAchse(const l: tLage; x: extended): extended; override;
@@ -2176,9 +2180,15 @@ end;
constructor tLambdaZuOmegaTransformation.create;
begin
+ create(2*pi*299792458);
+end;
+
+constructor tLambdaZuOmegaTransformation.create(faktor: extended);
+begin
inherited create;
horizontal:=false;
vertikal:=false;
+ _faktor:=faktor;
end;
function tLambdaZuOmegaTransformation.verhaeltnisHorizontal: extended;
@@ -2201,8 +2211,8 @@ function tLambdaZuOmegaTransformation.wertZuPositionAufAchse(const l: tLage; x:
begin
if ((l in [lOben,lUnten]) and horizontal) or // transformierte Achse?
((l in [lLinks,lRechts]) and vertikal) then
- x:=2*pi*299792458/x;
- result:=inherited wertZuPositionAufAchse(l,x); // Vorfahren befragen
+ x:=_faktor/x;
+ result:=vorgaenger[0].wertZuPositionAufAchse(l,x); // Vorfahren befragen
end;
procedure tLambdaZuOmegaTransformation.aktualisiereAchsen;
@@ -2210,15 +2220,15 @@ var
c: char;
begin
if horizontal then begin
- outAchsen['x','x']:=2*pi*299792458/inAchsen['x','y'];
- outAchsen['x','y']:=2*pi*299792458/inAchsen['x','x'];
+ outAchsen['x','x']:=_faktor/inAchsen['x','y'];
+ outAchsen['x','y']:=_faktor/inAchsen['x','x'];
end
else
for c:='x' to 'y' do
outAchsen['x',c]:=inAchsen['x',c];
if vertikal then begin
- outAchsen['y','x']:=2*pi*299792458/inAchsen['y','y'];
- outAchsen['y','y']:=2*pi*299792458/inAchsen['y','x'];
+ outAchsen['y','x']:=_faktor/inAchsen['y','y'];
+ outAchsen['y','y']:=_faktor/inAchsen['y','x'];
end
else
for c:='x' to 'y' do
@@ -2256,6 +2266,7 @@ begin
if vertikal then
result:=result+' und vertikal';
startetMit(' und ',result);
+ result:=result+' ('+floatToStr(_faktor)+')';
end;
// tKoordinatenAusschnitt ******************************************************
diff --git a/werteunit.inc b/werteunit.inc
index e90993d..832302e 100644
--- a/werteunit.inc
+++ b/werteunit.inc
@@ -99,11 +99,11 @@ end;
{$ENDIF}
{$IFDEF tLLWerte_kopiereLOVerzerrt}
-//procedure tLLWerte.kopiereLOVerzerrt(original: pTLLWerteSingle; xMin,xMax,tMin,tMax: longint; verhHo,verhVe: extended); overload;
+//procedure tLLWerte.kopiereLOVerzerrt(original: pTLLWerteSingle; xMin,xMax,tMin,tMax: longint; verhHo,verhVe: extended);
var
i,j,hV,hB,vV,vB,h,v: int64;
begin
- writeln(xMin,' .. ',xMax,' x ',tMin,' .. ',tMax);
+ gibAus(intToStr(xMin)+' .. '+intToStr(xMax)+' x '+intToStr(tMin)+' .. '+intToStr(tMax),1);
for i:=tMin to tMax do begin
if verhVe>0 then begin
vV:=max(
diff --git a/werteunit.pas b/werteunit.pas
index 3f31f0f..3d76591 100644
--- a/werteunit.pas
+++ b/werteunit.pas
@@ -299,11 +299,11 @@ procedure tLLWerte.kopiereVerzerrt(original: pTLLWerteExtended; zPs: tIntPointAr
{$UNDEF tLLWerte_kopiereVerzerrt}
{$DEFINE tLLWerte_kopiereLOVerzerrt}
-procedure tLLWerte.kopiereLOVerzerrt(original: pTLLWerteSingle; xMin,xMax,tMin,tMax: longint; verhHo,verhVe: extended); overload;
+procedure tLLWerte.kopiereLOVerzerrt(original: pTLLWerteSingle; xMin,xMax,tMin,tMax: longint; verhHo,verhVe: extended);
{$INCLUDE werteunit.inc}
-procedure tLLWerte.kopiereLOVerzerrt(original: pTLLWerteDouble; xMin,xMax,tMin,tMax: longint; verhHo,verhVe: extended); overload;
+procedure tLLWerte.kopiereLOVerzerrt(original: pTLLWerteDouble; xMin,xMax,tMin,tMax: longint; verhHo,verhVe: extended);
{$INCLUDE werteunit.inc}
-procedure tLLWerte.kopiereLOVerzerrt(original: pTLLWerteExtended; xMin,xMax,tMin,tMax: longint; verhHo,verhVe: extended); overload;
+procedure tLLWerte.kopiereLOVerzerrt(original: pTLLWerteExtended; xMin,xMax,tMin,tMax: longint; verhHo,verhVe: extended);
{$INCLUDE werteunit.inc}
{$UNDEF tLLWerte_kopiereLOVerzerrt}