-
Created by Unknown User (ofte), last modified on Jan 17, 2012
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 6
Next »
Detectors and datatypes used in the LCLS instruments
This page is manually maintained and may have omissions. Please send me an email if you see something missing.
At any given time the data libraries will have the most up to date information.
See also pdsdata Reference Manual
Data types: AcqConfig, AcqWaveform
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getAcqConfig(self.addr)
self.channels = config.nbrChannels()
def event(self, evt, env):
for ch in self.channels:
acqData = evt.getAcqValue(self.addr, ch, env)
time_wf = acqData.timestamps()
volt_wf = acqData.waveform()
Data types: IpimbConfig, IpmFexConfig, IpimbData, IpmFex
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig( xtc.TypeId.Type.Id_IpimbConfig , self.addr )
def event(self, evt, env):
ipm_raw = evt.get(xtc.TypeId.Type.Id_IpimbData, self.addr )
ipm_fex = evt.get(xtc.TypeId.Type.Id_IpmFex, self.addr )
Data types: EncoderConfig, EncoderData
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig( xtc.TypeId.Type.Id_EncoderConfig , self.addr )
self.channel = None
try: # only for ConfigV2 and higher
self.channel = 0
while ( (config._chan_mask & (1<<self.channel==0 )):
self.channel+=1
except:
pass
def event(self, evt, env):
data = evt.get(xtc.TypeId.Type.Id_EncoderData, self.addr )
if self.channel is not None:
value = encoder.value( self.channel )
else :
value = encoder.value() )
Data types: Opal1kConfig, Frame
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig(TypeId.Type.Id_Opal1kConfig, self.addr )
def event(self, evt, env):
frame = evt.get(TypeId.Type.Id_Frame, self.addr )
image = frame.data()
Data types: TM6740Config, Frame
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig(TypeId.Type.Id_TM6740Config, self.addr )
def event(self, evt, env):
frame = evt.get(TypeId.Type.Id_Frame, self.addr )
image = frame.data()
Data types: PrincetonConfig, PrincetonFrame
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig(TypeId.Type.Id_PrincetonConfig, self.addr )
def event(self, evt, env):
frame = evt.get(TypeId.Type.Id_PrincetonFrame, self.addr )
image = frame.data()
Data types: FccdConfig, Frame
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig(TypeId.Type.Id_FccdConfig, self.addr )
def event(self, evt, env):
frame = evt.get(TypeId.Type.Id_Frame, self.addr )
image = frame.data()
# convert to 16-bit integer
image.dtype = np.uint16
Data types: pnCCDconfig, pnCCDframe
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig(TypeId.Type.Id_pnCCDconfig, self.addr )
def event(self, evt, env):
frame = evt.get(TypeId.Type.Id_pnCCDframe, self.addr )
image = frame.data()
Data types: CspadConfig, CspadElement
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig(TypeId.Type.Id_CspadConfig, self.addr )
def event(self, evt, env):
element = evt.get(TypeId.Type.Id_CspadElement, self.addr )
Data types: CspadConfig, Cspad2x2Element
Psana code
Pyana code
from pypdsdata.xtc import TypeId
def __init__ ( self, addr = "" ):
self.addr = addr
def beginjob(self, evt, env):
config = env.getConfig(TypeId.Type.Id_CspadConfig, self.addr )
def event(self, evt, env):
element = evt.get(TypeId.Type.Id_Cspad2x2Element, self.addr )
Other data types
Control
xtc
Epics
Beam Line Detector (bld)
Lusi (LCLS Ultrafast Science Instruments)
Event receiver (evr)