Optic Measurement Analysis and Visualization using ROOT as

  • Slides: 28
Download presentation
Optic Measurement Analysis and Visualization using ROOT as a General Framework Dylan Maxwell Optical

Optic Measurement Analysis and Visualization using ROOT as a General Framework Dylan Maxwell Optical Metrology Lab Canadian Light Source, Inc. University of Saskatchewan Canada

Canada's National Synchrotron Facility

Canada's National Synchrotron Facility

CLS Optical Metrology Lab Purpose: To ensure quality of Synchrotron optics prior to their

CLS Optical Metrology Lab Purpose: To ensure quality of Synchrotron optics prior to their installation into a beamline. Radius of Curvature, Slope Error and Surface Roughness can be measured using the three main measurement instruments.

CLS Optical Metrology Lab Three Main Commercial Instruments: 1) Micromap 3 D Surface Profiler

CLS Optical Metrology Lab Three Main Commercial Instruments: 1) Micromap 3 D Surface Profiler from Micromap Corp. 2) Long Trace Profilometer from Ocean Optics Inc. 3) Fizeau Interferometer from Zygo Corp.

Problem: Three data analysis packages that are not designed for synchrotron applications or do

Problem: Three data analysis packages that are not designed for synchrotron applications or do not have an important feature. They cannot be modified or extended because they are commercial closed-source programs.

Project Goals 1. Analyse data from the three metrology instruments. 2. Display the results

Project Goals 1. Analyse data from the three metrology instruments. 2. Display the results in a comprehensive format. 3. Print the results for easy report generation. 4. Organize both data and results for easy retrieval. 5. Easy to use graphical interface.

Browser Based Graphical Interface

Browser Based Graphical Interface

TAnalysis. Canvas. CLS : public TCanvas { protected: TRef f. Data. Dir; public: TAnalysis.

TAnalysis. Canvas. CLS : public TCanvas { protected: TRef f. Data. Dir; public: TAnalysis. Canvas. CLS(); TAnalysis. Canvas. CLS(name, title, datadir); ~TAnalysis. Canvas. CLS() TDirectory* Get. Data. Dir(); void Store(); virtual void Analyse(); };

TAnalyse. Button. CLS & TStore. Button. CLS ● Inherits from TButton. ● TAnalyse. Button.

TAnalyse. Button. CLS & TStore. Button. CLS ● Inherits from TButton. ● TAnalyse. Button. CLS executes the Analyse() function. ● TStore. Button. CLS executes the Store() function.

TAnalysis. Canvas. CLS Example

TAnalysis. Canvas. CLS Example

TParameter. CLS : public TLatex { protected: TString f. Prefix; TString f. Suffix; public:

TParameter. CLS : public TLatex { protected: TString f. Prefix; TString f. Suffix; public: TParameter. CLS(); TParameter. CLS(name, prefix, suffix); ~TParameter. CLS() Draw. Param(x, y, size, align); };

TParam. Double. CLS TPara. Double. CLS : public TParameter { protected: Double_t f. Value;

TParam. Double. CLS TPara. Double. CLS : public TParameter { protected: Double_t f. Value; TUnits. CLS f. Unit; public: TParam. Double. CLS(); TParam. Double. CLS(name, value, unit, . . . ); ~TParam. Double. CLS() Double_t Get. Value(); void Set. Value(Double_t v); //*MENU* };

TParam. Double. CLS Double_t f. Value; TParam. Int. CLS Int_t f. Value; TParameter. CLS

TParam. Double. CLS Double_t f. Value; TParam. Int. CLS Int_t f. Value; TParameter. CLS TParam. String. CLS TString f. Value; TParam. Unit. CLS TUnits. CLS f. Value;

TUnits. CLS ● Contains an array of “known” units. ● Text and Latex names.

TUnits. CLS ● Contains an array of “known” units. ● Text and Latex names. ● Conversion factor and a 7 -byte signature. ● Each byte is the exponent of 1 base SI unit. ● Custom units can be created using '*=' and '/=' operators.

Kilogram Second Ampere Candela Mole Kelvin m mm 1 1 0 0 0 1.

Kilogram Second Ampere Candela Mole Kelvin m mm 1 1 0 0 0 1. 0 0. 001 mile 1 0 0 0 1608 N J 1 1 -2 2 1 -2 0 0 0 0 1. 0 erg 2 0 0 1 -2 Factor Meter TUnits. CLS 1. 0 E-7

TOptic. Metrology. CLS

TOptic. Metrology. CLS

TOptic. Group. CLS

TOptic. Group. CLS

TOptic. Element. CLS

TOptic. Element. CLS

TOptic. Zygo. Data. CLS

TOptic. Zygo. Data. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

TOptic. LTPData. CLS

Summary TAnalysis. Canvas. CLS “Smart” Canvas ● Knows where to Find the Data ●

Summary TAnalysis. Canvas. CLS “Smart” Canvas ● Knows where to Find the Data ● Knows how to Analyse and Display the Data ● TParameter. CLS Used for Input or Output ● Displayed on Canvas or Browser ● TUnits. CLS Units Conversion ● Build Custom Units ●

Thanks Brian Yates Emil Hallin Tomas Ellis and the ROOT Developers

Thanks Brian Yates Emil Hallin Tomas Ellis and the ROOT Developers