Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Sean Leavey
pykat
Commits
c8d9f73b
Commit
c8d9f73b
authored
Sep 12, 2016
by
Daniel Brown
Browse files
Fixing trace data not using correct wavelength, adding in new squeezer component parsing
parent
7108068f
Changes
3
Hide whitespace changes
Inline
Side-by-side
pykat/__init__.py
View file @
c8d9f73b
...
...
@@ -3,7 +3,7 @@ from __future__ import division
from
__future__
import
print_function
from
__future__
import
unicode_literals
__version__
=
"1.0.1
0
"
__version__
=
"1.0.1
1
"
# This flag is used to switch on the gui features in pkat at import time
USE_GUI
=
False
...
...
pykat/components.py
View file @
c8d9f73b
...
...
@@ -1327,7 +1327,7 @@ class laser(Component):
return
self
.
_svgItem
class
squeezer
(
Component
):
def
__init__
(
self
,
name
,
node
,
f
=
0
,
db
=
0
,
angle
=
0
,
phase
=
0
):
def
__init__
(
self
,
name
,
node
,
f
=
0
,
db
=
0
,
angle
=
0
,
phase
=
0
,
entangled_carrier
=
False
):
Component
.
__init__
(
self
,
name
)
self
.
_requested_node_names
.
append
(
node
)
...
...
@@ -1337,6 +1337,7 @@ class squeezer(Component):
self
.
__db
=
Param
(
"db"
,
self
,
SIfloat
(
db
),
canFsig
=
False
,
fsig_name
=
"r"
)
self
.
__angle
=
Param
(
"angle"
,
self
,
SIfloat
(
angle
),
canFsig
=
False
,
fsig_name
=
"angle"
)
self
.
_svgItem
=
None
self
.
entangled_carrier
=
entangled_carrier
@
property
def
db
(
self
):
return
self
.
__db
...
...
@@ -1364,19 +1365,26 @@ class squeezer(Component):
@
staticmethod
def
parseFinesseText
(
text
):
values
=
text
.
split
()
if
values
[
0
]
!=
"sq"
:
if
values
[
0
]
[:
2
]
!=
"sq"
:
raise
pkex
.
BasePyKatException
(
"'{0}' not a valid Finesse squeezer command"
.
format
(
text
))
entangled_carrier
=
values
[
0
].
endswith
(
"*"
)
values
.
pop
(
0
)
# remove initial value
if
len
(
values
)
==
5
:
return
squeezer
(
values
[
0
],
values
[
4
],
f
=
values
[
1
],
db
=
values
[
2
],
angle
=
values
[
3
])
return
squeezer
(
values
[
0
],
values
[
4
],
f
=
values
[
1
],
db
=
values
[
2
],
angle
=
values
[
3
],
entangled_carrier
=
entangled_carrier
)
else
:
raise
exceptions
.
FinesseParse
(
"Squeezer Finesse code format incorrect '{0}'"
.
format
(
text
))
def
getFinesseText
(
self
):
rtn
=
[
'sq {0} {1} {2} {3} {4}'
.
format
(
self
.
name
,
self
.
f
.
value
,
self
.
db
.
value
,
self
.
angle
.
value
,
self
.
nodes
[
0
].
name
)]
if
self
.
entangled_carrier
:
rtn
=
[
'sq* {0} {1} {2} {3} {4}'
.
format
(
self
.
name
,
self
.
f
.
value
,
self
.
db
.
value
,
self
.
angle
.
value
,
self
.
nodes
[
0
].
name
)]
else
:
rtn
=
[
'sq {0} {1} {2} {3} {4}'
.
format
(
self
.
name
,
self
.
f
.
value
,
self
.
db
.
value
,
self
.
angle
.
value
,
self
.
nodes
[
0
].
name
)]
for
p
in
self
.
_params
:
rtn
.
extend
(
p
.
getFinesseText
())
...
...
pykat/finesse.py
View file @
c8d9f73b
...
...
@@ -1106,7 +1106,7 @@ class kat(object):
obj
=
pykat
.
components
.
space
.
parseFinesseText
(
line
)
elif
(
first
==
"l"
):
obj
=
pykat
.
components
.
laser
.
parseFinesseText
(
line
)
elif
(
first
==
"sq"
):
elif
(
first
[:
2
]
==
"sq"
):
obj
=
pykat
.
components
.
squeezer
.
parseFinesseText
(
line
)
elif
(
first
[
0
:
2
]
==
"bs"
):
obj
=
pykat
.
components
.
beamSplitter
.
parseFinesseText
(
line
)
...
...
@@ -1681,7 +1681,9 @@ class kat(object):
qx
=
spqx
[
0
].
split
(
"="
)[
1
].
replace
(
'i'
,
'j'
).
replace
(
' '
,
''
)
qy
=
spqy
[
0
].
split
(
"="
)[
1
].
replace
(
'i'
,
'j'
).
replace
(
' '
,
''
)
traceData
[
-
1
][
node_name
]
=
(
pykat
.
beam_param
(
q
=
complex
(
qx
)),
pykat
.
beam_param
(
q
=
complex
(
qy
)),
component_name
)
traceData
[
-
1
][
node_name
]
=
(
pykat
.
beam_param
(
q
=
complex
(
qx
),
wavelength
=
self
.
lambda0
),
pykat
.
beam_param
(
q
=
complex
(
qy
),
wavelength
=
self
.
lambda0
),
component_name
)
finally
:
ifile
.
close
()
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment