Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Rightclick on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: White, Greg <greg@sl...>  20140414 20:51:41

Reminder: new meeting time is 1/2 before it used to be. So it starts on the hour before, not the half our. Agenda. 0. Preliminaries 1. Ntypes for units and error (greg). 2. Demo using pva and easyPva from within matlab (greg). Cheers Greg 
From: White, Greg <greg@sl...>  20140414 20:51:41

Reminder: new meeting time is 1/2 before it used to be. So it starts on the hour before, not the half our. Agenda. 0. Preliminaries 1. Ntypes for units and error (greg). 2. Demo using pva and easyPva from within matlab (greg). Cheers Greg 
From: Andrew Johnson <anj@ap...>  20140414 22:13:59

On 04/14/2014 03:51 PM, White, Greg wrote: > Reminder: new meeting time is 1/2 before it used to be. So it starts on the hour before, not the half our. > > Agenda. > > 0. Preliminaries > > 1. Ntypes for units and error (greg). > > 2. Demo using pva and easyPva from within matlab (greg). My apologies for not joining the meeting, I have the day off tomorrow to entertain some guests who are visiting from out of town.  Andrew  Advertising may be described as the science of arresting the human intelligence long enough to get money from it.  Stephen Leacock 
From: White, Greg <greg@sl...>  20140414 23:12:44

Hey, have fun Andrew. Here's text of the demo I hope to run through: % Setup for Getting a CA channel pv % import org.epics.pvaccess.easyPVA.*; easy = EasyPVAFactory.get(); org.epics.caV3.ClientFactory.start(); % Get the CA PV value by channel, getter, get method: q201bdes_c=easy.createChannel('LI18:QUAD:201:BDES',... org.epics.caV3.ClientFactory.PROVIDER_NAME); q201bdes_g=q201bdes_c.createGet(); q201bdes_g.getDouble() ans = 52.1775 % Or as one line... % This PV is our beam rate now: easy.createChannel('EVNT:SYS0:1:LCLSBEAMRATE',... org.epics.caV3.ClientFactory.PROVIDER_NAME).createGet().getDouble() ans = 120 % Getting a simple scalar pvAccess channel pv. % import org.epics.pvaccess.easyPVA.*; % org.epics.pvaccess.ClientFactory.start();  not required because it's done for you. easy = EasyPVAFactory.get(); chan=easy.createChannel('double01'); chanGetter=chan.createGet(); chanPutter=chan.createPut(); chanPutter.putDouble(2.6345); chanGetter.getDouble() ans = 2.6345 4. Matlab PVAccess (MPVA) ========================= %% Get modelling element information (elem names, devices, Z etc) elementtable=rdbGet('LCLS/elementInfo.byS') elementtable.value ans = element: [1270x1 java.lang.String[]] element_type: [1270x1 java.lang.String[]] epics_device_name: [1270x1 java.lang.String[]] s_display: [1270x1 double] obstruction: [1270x1 java.lang.String[]] %% Get all Twiss of every element twisstable=rdbGet('modelTwiss/Extant.FullMachine') twisstable.value ans = ordinal: [2543x1 double] element_name: [2543x1 java.lang.String[]] epics_channel_access_name: [2543x1 java.lang.String[]] z_position: [2543x1 double] position_index: [2543x1 java.lang.String[]] leff: [2543x1 double] total_energy: [2543x1 double] psi_x: [2543x1 double] beta_x: [2543x1 double] alpha_x: [2543x1 double] eta_x: [2543x1 double] etap_x: [2543x1 double] psi_y: [2543x1 double] beta_y: [2543x1 double] alpha_y: [2543x1 double] eta_y: [2543x1 double] etap_y: [2543x1 double] % So what are the betas? twisstable.value.beta_x %% Plot extand and design betas % A nice way to get bigger plot figure('Position', [300,200,750,550]); set(gcf,'Color',[1 1 1]); % plot Extant beta in x and y clf plot(twisstable.value.z_position, twisstable.value.beta_x); hold on plot(twisstable.value.z_position, twisstable.value.beta_y,''); % Compare above plotted extant to Design Betas dtwisstable=rdbGet('modelTwiss/Design.FullMachine'); plot(dtwisstable.value.z_position,dtwisstable.value.beta_x,'m'); plot(dtwisstable.value.z_position,dtwisstable.value.beta_y,'m'); % Add labels xlabel('Z (m)'); ylabel( 'Beta (m)'); title('Extant and Design Betas now in LCLS'); %% Twiss of a single element % Get Twiss of a single element: twiss = twissGet( 'QUAD:LTU1:880//twiss' ) % All the arguments of the service are supported: % % pos = {beg,mid,end} default is end % type = {extant, design} default is extant % mode = <timing mode> default is 5 (the main 13.5 GeV energy timing mode % runid = <integer run id>gold default is gold % b = name of device to which to calculate transfer matrix (Rmatrix A > B) % posb = to where in b, if b is given. % Example of arguments, what are twiss at the middle position of the quad: twiss = twissGet( 'QUAD:LTU1:880//twiss','pos','mid' ) % Compare its twiss now to its design twiss twiss = twissGet( 'QUAD:LTU1:880//twiss','pos','mid','type','design' ) %% Rmatrix of a single element % rmatGet( 'QUAD:LTU1:880//R' ) % Again all args are suppored. % Get the Rmatrix at the beginning of the quad, % under the 13 GeV timing mode (5) % rmatGet( 'QUAD:LTU1:880//R','mode','5','pos','beg' ) % R from A to B! The basis of bumps, steering, wire scans, emittance estimation % and correction, etc etc. % rmatGet( 'QUAD:LTU1:880//R','b','BPMS:UND1:3190') % Again, all arguments supported. % rmatGet( 'QUAD:UND1:880//R','b','BPMS:UND1:3190','mode','5') rmatGet( 'QUAD:LTU1:880//R','b','BPMS:UND1:3190','mode','5','pos','mid') MATLAB PVA (MPVA) SUMMARY  Data getters: twissGet Gets Model Optics twiss parameters data rdbGet Gets data from Oracle db through rdb pvaccess server. rmatGet Gets Model Optics Rmat data Utilities: pvstructure2struct Converts any PVStructure to a matrix struct nttable2struct Converts an EPICS NTTable to a matlab struct of cell arrays. ntmatrix2matrix Converts an EPICS NTTable to a matlab matrix On Apr 14, 2014, at 3:13 PM, Andrew Johnson <anj@...> wrote: > On 04/14/2014 03:51 PM, White, Greg wrote: >> Reminder: new meeting time is 1/2 before it used to be. So it starts on the hour before, not the half our. >> >> Agenda. >> >> 0. Preliminaries >> >> 1. Ntypes for units and error (greg). >> >> 2. Demo using pva and easyPva from within matlab (greg). > > My apologies for not joining the meeting, I have the day off tomorrow to > entertain some guests who are visiting from out of town. > >  Andrew >  > Advertising may be described as the science of arresting the human > intelligence long enough to get money from it.  Stephen Leacock > >  > Learn Graph Databases  Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/NeoTech 
From: Timo Korhonen <Timo.Korhonen@es...>  20140415 07:21:34

Hi, Unfortunately I cannot join todays telecom. I will travel this evening and have to leave early to the airport. I would have liked to participate in the "error and units² discussion, too bad, sorry. I have not carefully thought through Greg¹s proposal yet but at a first quick read it looks like a good basis for discussion. I am sure I will have comments on it but cannot make them by today. Timo On 14/04/14 22:51, "White, Greg" <greg@...> wrote: >Reminder: new meeting time is 1/2 before it used to be. So it starts on >the hour before, not the half our. > >Agenda. > >0. Preliminaries > >1. Ntypes for units and error (greg). > >2. Demo using pva and easyPva from within matlab (greg). > >Cheers >Greg > > > > > >Learn Graph Databases  Download FREE O'Reilly Book >"Graph Databases" is the definitive new guide to graph databases and their >applications. Written by three acclaimed leaders in the field, >this first edition is now available. Download your free book today! >http://p.sf.net/sfu/NeoTech 
Sign up for the SourceForge newsletter:
No, thanks