|
|
|
|||||
|
|
|
Osservatorio Astronomico di Roma
Graphical User Interface for LBC OBs Reference Manual |
Version Date Page |
2.0 02 July 2007
|
|
|

Large Binocular Camera
Graphical User Interface for LBC Observing Blocks
Reference Manual
Author: Stefano Gallozzi
date: 2004-04-22
email: gallozzi@oa-roma.inaf.it
Copyright © 2004, Stefano Gallozzi & LBC-Team
Graphical User Interface for LBC Observing Blocks,
Reference Manual
Table of Contents
GUI, Graphical User Interface – 1.
Observing Blocks – 2.
Folder Operations – 3.
OB Operations – 4.
Observing Plans – 5.
OP Operations – 6.
Chip Settings – 7.
Dithering Calculator – 8.
Exposure Time Calculator – 9.
Interactive Pointing – 10.
On Line Help – 11.
1. GUI, GRAPHICAL USER INTERFACE
The GUI is a Java multiplatform application designed to be very user friendly in all its operations
Goals of the application are:
- Create a standard for the LBC/LBT ObservingBlock (OB) in a database XML format, compatible with the AVOTables XML standards
- View/Modify a single OB in all its fields
- Concatenate more Observing Bock together in order to create an xml-Observing Plan (OP)

1.1. OB/Plan XML-file Format
The XML Markup Language is a web file format created to organize in a database-like format all type of data; the advantage of using this data architecture is the great flexibility of the web resource in conjunction with the stability of a database approach.
It' possible to define a standard definition of variables types with relative intervals of the parameters inserted in the xml-file (XSD-schema-file).
This application is designed to be totally compatible with the VOTable XML standards.
Lots of Programming Languages libraries are availables to interface with XML (we use SAX=Simple API for XML), but also AXIS is a good choise for web services.
1.2. GUI Organization
The GUI is organized in three main TabPanel divided by topics (view three following pics):
- Target Package Panel (is a slice representing pointing and observation parameters: RA-Dec, Target Name, Proper Motion, ...)
- Observation Description (is a slice representing all the instrument parameters for the observation: dithering pattern, ETC, ...)
- Constrain Sets (is a slide as ESO-Style to constrain the observation by some particular parameter: wheather condition, seeing, exposure time, ...)



1.3. GUI Operations on OB/OP
It's possible to perform some operation on OB and Plan:
Create OB-OP (it' also possible to create a directory where to store all data)
Copy/Move/Delete OB-OP
Print/Export to PS file format an OB-OP
View/Modify the content of OB-OP
Save the data in a file OB-OP (xml-format)
These operations are possible thanks to special and specified JavaButtons and JavaMenus located in the top ToolBar.
There are three type of button/menu groups (see following picture):
Folder Buttons (yellow)
Plan Buttons (red)
OB Buttons (green)

It's possible to perform some special operations on the data inserted:
Dithering Pattern Calculation
Exposure Time Calculation
Interactive Pointing
These operations are carried on data and the final results are inserted in the Observing Block File, see below.
2. OBSERVING BLOCK
Each Observing Block for the LBC camera of the LBT Telescope is saved in a XML-databse file (extension .ob).
To the ob-xml file is associated a ob-schema file (extension .xsd), which represents the variable declaration and structure of the relative xml.
The file is subsequently processed by a standard C/C++-library to extract the variables and perform the necessary instrument operations. This C/C++ library is included in the GUI package.
2.1. VARIABLE DEFINITION AND OB STRUCTURE
The Observing Block Structure is composed of three top level fields in the XML-database schema:
LBC_Target field, which represents the relative parameters for the observation of a specific target.
LBC_Channel field, which represents the total observation parameters to customize in the most powerful way possible every single exposure for the B and R Channel.
Constrain Sets field, which represents an ESO like way to define the range for some observation parameters, ie. CSS(Constrain Sets for Seeing) define an interval for the observation seeing, if the place seeing values falls inside that interval the observation should be taken.
Here is a list of all the inserted variables with the respective meaning:
----------------------------------------
<LBC_Target>
- OBName = Observing block name (string), is the name of the OB as it appear on the disk (without .ob extension) - (String).
- TargetName = Target Package Name (string), is the name of the observation target - (String).
- ClassType = Class-type of observation, ie. Standard Star, Flat-field, Dark, Scientific Object – (String).
- TEC_RA & TEC_DEC = Target Equatorial Coordinates, Right Ascention and Declination, is the starting point for the observation on the sky in decimal degree format – (float).
- Equinox = Equinox of coordinates, 1950 or 2000 – (int).
- Offset_RA & Offset_DEC = Offsett in arcsec for RA and Dec, is the arcsec offsetting from the central RA0-DEC0 position – (float).
- ProperMotion_RA & ProperMotion_DEC = RA DEC Proper Motion, is the proper motion of an observation target/object in arcsec for RA and Dec – (float).
- TRACKING, Telescope = Tracking, presetting telescope – (boolean).
Window settings and parameters:
- WXMIN, WXMAX, WYMIN, WYMAX = pixel settings for X-Y window: X=[1,2048], Y=[1,4600] – (int).
- PDIT = Dithering pattern is the logical operation to calculate the dither, ie. Random, UserDefined, Spiral, Circular, TBD (string).
- ADIT, SDIT, DITX0 & DITY0 = Dithering Angle, Scale and offset for X-Y axis, parameters to calculate dithering steps – (float).
- NDIT, DIT0 = Number of dithering offsets and Starting item, parameters to calculate dithering steps – (int).
- XDIT & YDIT = list of dithering pattern in RA and Dec from the central RA0,DEC0 position – (array of floats).
</LBC_Target>
--------------------------------------------------------------
<LBC_Channel>
<B> and <R> = the channel name.
For B and R Arm there are the same parameters, here's a list:
- PSB & PSR = Master, Slave or Off, what kind of setting must perform the Channel – (int: OFF=0, MASTER=1, SLAVE=2).
- RA_B & RA_R = Rotation angle for B and R- Arm, is the angle of rotation for each camera in decimal degree format – (float).
- FocussOffset & FocussStartPosition = keyword which represents the Offset of each step in the fucus procedure and the Starting position for each Arm; the Filter used for this operation are the first filter of the filter list for each Channel with theire own Exposure Time and number of exposure. The two keyword can be setted with the special Jframe (see following fig.) accessible by the “Edit Focus” button in the Observation description - (double).
- Chip1, Chip2, Chip3, Chip4, Shutter = ON/OFF for Chip 1, 2, 3, 4 and Shutter (boolean).
- ReadOutMode_B & ReadOutMode_R = Read Out Mode, ie. fast and slow (boolean)
- CCDBin_B & CCDBin_R = CCD Binning Factor, is the bin factor for the image acquisition – (boolean).
- FilterNumber = Is the Filter number selected (max is 8 for each channel) – (int).
<Filter> = Filter, is the tag to discern between different filters selected.
- FilterName = Is the name of the Filter selected - (String).
- SingleExpoTime = Is the Single Exposure Time for the observation with the selected filter – (float).
- Nexpo = Is the number of exposure taken with the selected filter – (int).
- Focuss = Is a flag for focuss the observation for the selected filter – (boolean).
- Identifier = Is the identifier for the observation – (string).
- Pipeline = Are the pipeline instructions for the selected observation – (string).
</Filter>
User hidden parameters:
- ReadOutTime = Read Out Time, is the total time to download the acquisition image and be ready to take new one – (float).
- TimeOffset = Offsetting Time, is the time necessary to offset the telescope – (float).
- SEEING = Seeing of the observation, is the real seeing for the observation, not calculated – (float).
- MOON = Moon Phase of the observation, is the real moon phase for the observation, not calculated – (int).
Constrain Parameters (like ESO):
- CST = Constrain Sets Timing – (string).
- CSP = Constrain Sets Position – (string).
- CSW = Constrain Sets Weather – (string).
- CSS = Constrain Sets Max Seeing – (String).
- CSF = Constrain Sets Frame – (string).
Additional hidden Parameters:
- OBJECT = Is the name of the Target of Observation – (string).
- OBSID = Is the Identification ID of the Observation – (string).
- PROPID = Is the Proposal Identification ID of the Observation – (string).
- OBSERVER = Is the name of Observer – (string).
- LBCUSER = Is the name of LBC-USER (P.I. Name) – (string).
Special Hidden Keywords (like ESO):
Some Special Keywords are inserted and hidden in the OB structure
but are very useful for the observation.
-LBCUSER keyword is a keyword which represent the PI-Name that
can be inserted in the relative field of the new single OB
operation window.
-PROPOSALID is a keyword that represent the proposal identification
for the observation; this keyword can be inserted in the relative
field of the new single OB operation window.
-OBSERVER is a keyword that represent the physical person who are
going to perform the observation for the single OB; this keyword
can be inserted in the relative field of the new single OB operation
window.
When a OB is created those keywords may be initialized, while if any
pre-existent OB is loaded those keywords may be changed by the
special OB menu item “Change Observer / Proposal / PI” as you can see
from the following pictures.


2.2. OB-XML & SCHEMA FILE EXAMPLE
Here is an example of a saved Observing Block with its schema file:
OB XML Example File
<?xml version="1.0" encoding="UTF-8" ?>
- <ObservingBlock>
- <LBC_Target>
<OBName>OB1</OBName>
<TargetName>Pg1115+047</TargetName>
<ClassType>Dark</ClassType>
<TEC_RA>12.4563</TEC_RA>
<TEC_DEC>43.7632</TEC_DEC>
<Equinox>2000</Equinox>
<OFF_RA>0.0</OFF_RA>
<OFF_DEC>0.0</OFF_DEC>
<ProperMotion_RA>0.0</ProperMotion_RA>
<ProperMotion_DEC>0.0</ProperMotion_DEC>
<Tracking>1</Tracking>
<Telescope>1</Telescope>
<WXMIN>1</WXMIN>
<WXMAX>2048</WXMAX>
<WYMIN>1</WYMIN>
<WYMAX>4600</WYMAX>
<PDIT>Random</PDIT>
<ADIT>0.0</ADIT>
<SDIT>4.0</SDIT>
<DIT0>0</DIT0>
<DITX0>0.0</DITX0>
<DITY0>0.0</DITY0>
<NDIT>5</NDIT>
<XDIT>0.0 7.214781 0.59198904 -0.3343544 -5.936532</XDIT>
<YDIT>0.0 7.8273206 -1.7054458 0.78919077 -6.1209717</YDIT>
</LBC_Target>
- <LBC_Channel>
- <B_Arm>
<PSB>1</PSB>
<RotAngle_B>3.55</RotAngle_B>
<Focuss_B><FocusOffset>10.0</FocussOffset><FocusStartPosition>0.0</FocusStartPosition></Focuss_B>
<Chip1B>1</Chip1B>
<Chip2B>1</Chip2B>
<Chip3B>1</Chip3B>
<Chip4B>1</Chip4B>
<ShutterB>1</ShutterB>
<ReadOutMode_B>1</ReadOutMode_B>
<CCDBin_B>1</CCDBin_B>
<FilterNumber_B>5</FilterNumber_B>
- <Filter>
<FilterName>B</FilterName>
<SingleExpoTime>40000</SingleExpoTime>
<NExpo>10</NExpo>
<Identifier>B_pipe</Identifier>
<Pipeline>Reduction Instructions</Pipeline>
</Filter>
- <Filter>
<FilterName>U</FilterName>
<SingleExpoTime>40000</SingleExpoTime>
<NExpo>10</NExpo>
<Identifier>U_pipe</Identifier>
<Pipeline>Reduction Instructions</Pipeline>
</Filter>
- <Filter>
<FilterName>V</FilterName>
<SingleExpoTime>40000</SingleExpoTime>
<NExpo>10</NExpo>
<Identifier>V_pipe</Identifier>
<Pipeline>Reduction Instructions</Pipeline>
</Filter>
- <Filter>
<FilterName>StdU</FilterName>
<SingleExpoTime>40000</SingleExpoTime>
<NExpo>10</NExpo>
<Identifier>StdU_pipe</Identifier>
<Pipeline>Reduction Instructions</Pipeline>
</Filter>
- <Filter>
<FilterName>VBess</FilterName>
<SingleExpoTime>40000</SingleExpoTime>
<NExpo>10</NExpo>
<Identifier>VBess_pipe</Identifier>
<Pipeline>Reduction Instructions</Pipeline>
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
</B_Arm>
- <R_Arm>
<PSR>2</PSR>
<RotAngle_R>3.55</RotAngle_R>
<Focuss_R><FocusOffset>10.0</FocussOffset><FocusStartPosition>0.0</FocusStartPosition></Focuss_R>
<Chip1R>1</Chip1R>
<Chip2R>1</Chip2R>
<Chip3R>1</Chip3R>
<Chip4R>1</Chip4R>
<ShutterR>1</ShutterR>
<ReadOutMode_R>1</ReadOutMode_R>
<CCDBin_R>1</CCDBin_R>
<FilterNumber_R>2</FilterNumber_R>
- <Filter>
<FilterName>I</FilterName>
<SingleExpoTime>40000</SingleExpoTime>
<NExpo>10</NExpo>
<Identifier>I_pipe</Identifier>
<Pipeline>Reduction Instructions</Pipeline>
</Filter>
- <Filter>
<FilterName>R</FilterName>
<SingleExpoTime>40000</SingleExpoTime>
<NExpo>10</NExpo>
<Identifier>R_pipe</Identifier>
<Pipeline>Reduction Instructions</Pipeline>
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
- <Filter>
<FilterName />
<SingleExpoTime />
<NExpo />
<Identifier />
<Pipeline />
</Filter>
</R_Arm>
<ReadOutTime>7.45</ReadOutTime>
<TimeOffset>13.45</TimeOffset>
<Seeing>0.8</Seeing>
<MoonPhase>0</MoonPhase>
</LBC_Channel>
- <ConstrainSets>
<CSTime>CSTTTT</CSTime>
<CSPosition>CSPPPP</CSPosition>
<CSWeather>CSWWWW</CSWeather>
<CSSeeing>CSSSSS</CSSeeing>
<CSFrame>CSFFFF</CSFrame>
</ConstrainSets>
<OBJECT>cdfs</OBJECT>
<OBSID>1234DF-1</OBSID>
<PROPID>1234DF</PROPID>
<OBSERVER />
<LBCUSER>gallozzi</LBCUSER>
</ObservingBlock>
2.3. OB Schema File
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>
OBSERVING BLOCK OB for LBC-LBT
</xsd:documentation>
</xsd:annotation>
<xsd:complexType name="OBType">
<xsd:sequence>
<xsd:element name="LBC_Target" type="LBC_TargetType"/>
<xsd:element name="LBC_Channel" type="LBC_ChannelType"/>
<xsd:element name="ConstrainSets" type="ConstrainSetsType"/>
<xsd:element name="OBJECT" type="xsd:string"/>
<xsd:element name="OBSID" type="xsd:string"/>
<xsd:element name="PROPID" type="xsd:string"/>
<xsd:element name="OBSERVER" type="xsd:string"/>
<xsd:element name="LBCUSER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LBC_TargetType">
<xsd:sequence>
<xsd:element name="OBName" type="xsd:string"/>
<xsd:element name="TargetName" type="xsd:string"/>
<xsd:element name="ClassType" type="xsd:string"/>
<xsd:element name="TEC_RA">
<xsd:simpleType>
<xsd:restriction base="xsd:float">
<xsd:minExclusive value="0.0"/>
<xsd:maxExclusive value="360.0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="TEC_DEC">
<xsd:simpleType>
<xsd:restriction base="xsd:float">
<xsd:minExclusive value="-90.0"/>
<xsd:maxExclusive value="+90.0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Equinox" type="xsd:integer"/>
<xsd:element name="OFF_RA">
<xsd:simpleType>
<xsd:restriction base="xsd:float">
<xsd:minExclusive value="-9999.9"/>
<xsd:maxExclusive value="+9999.9"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="OFF_DEC">
<xsd:simpleType>
<xsd:restriction base="xsd:float">
<xsd:minExclusive value="-9999.9"/>
<xsd:maxExclusive value="+9999.9"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ProperMotion_RA" type="xsd:float"/>
<xsd:element name="ProperMotion_DEC" type="xsd:float"/>
<xsd:element name="Tracking" type="xsd:boolean"/>
<xsd:element name="Telescope" type="xsd:boolean"/>
<xsd:element name="WXMIN">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
<xsd:maxExclusive value="2048"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="WXMAX">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
<xsd:maxExclusive value="2048"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="WYMIN">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
<xsd:maxExclusive value="4600"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="WYMAX">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
<xsd:maxExclusive value="4600"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PDIT" type="xsd:string"/>
<xsd:element name="ADIT" type="xsd:float"/>
<xsd:element name="SDIT" type="xsd:float"/>
<xsd:element name="DIT0">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DITX0" type="xsd:float"/>
<xsd:element name="DITY0" type="xsd:float"/>
<xsd:element name="NDIT">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="XDIT" type="xsd:float" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="YDIT" type="xsd:float" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FocussType">
<xsd:sequence>
<xsd:element name="FocussOffset" type="xsd:float"/>
<xsd:element name="FocussStartPosition" type="xsd:float"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FilterType">
<xsd:sequence>
<xsd:element name="FilterName" type="xsd:string"/>
<xsd:element name="SingleExpoTime" type="xsd:float"/>
<xsd:element name="NExpo" type="xsd:integer"/>
<xsd:element name="Identifier" type="xsd:string"/>
<xsd:element name="Pipeline" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LBC_ChannelType">
<xsd:sequence>
<xsd:element name="B_Arm" type="B_ArmType"/>
<xsd:element name="R_Arm" type="R_ArmType"/>
<xsd:element name="ReadOutTime" type="xsd:positiveFloat"/>
<xsd:element name="TimeOffset" type="xsd:positiveFloat"/>
<xsd:element name="Seeing" type="xsd:positiveFloat"/>
<xsd:element name="MoonPhase">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="0"/>
<xsd:maxExclusive value="14"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="B_ArmType">
<xsd:sequence>
<xsd:element name="PSB" type="xsd:integer"/>
<xsd:element name="RotAngle_B" type="xsd:float"/>
<xsd:element name="FF_B" type="FocussType"/>
<xsd:element name="Chip1B" type="xsd:boolean"/>
<xsd:element name="Chip2B" type="xsd:boolean"/>
<xsd:element name="Chip3B" type="xsd:boolean"/>
<xsd:element name="Chip4B" type="xsd:boolean"/>
<xsd:element name="ShutterB" type="xsd:boolean"/>
<xsd:element name="ReadOutMode_B" type="xsd:boolean"/>
<xsd:element name="CCDBin_B" type="xsd:integer"/>
<xsd:element name="FilterNumber_B" type="xsd:integer" minOccurs="0" maxOccurs="8"/>
<xsd:element name="Filter" type="FilterType" minOccurs="0" maxOccurs="8"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="R_ArmType">
<xsd:sequence>
<xsd:element name="PSR" type="xsd:integer"/>
<xsd:element name="RotAngle_R" type="xsd:float"/>
<xsd:element name="FF_R" type="FocussType"/>
<xsd:element name="Chip1R" type="xsd:boolean"/>
<xsd:element name="Chip2R" type="xsd:boolean"/>
<xsd:element name="Chip3R" type="xsd:boolean"/>
<xsd:element name="Chip4R" type="xsd:boolean"/>
<xsd:element name="ShutterR" type="xsd:boolean"/>
<xsd:element name="ReadOutMode_R" type="xsd:boolean"/>
<xsd:element name="CCDBin_R" type="xsd:integer"/>
<xsd:element name="FilterNumber_R" type="xsd:integer" minOccurs="0" maxOccurs="8"/>
<xsd:element name="Filter" type="FilterType" minOccurs="0" maxOccurs="8"/>
</xsd:sequence>
</xsd:complexType>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ConstrainSetsType">
<xsd:sequence>
<xsd:element name="CST" type="xsd:string"/>
<xsd:element name="CSP" type="xsd:string"/>
<xsd:element name="CSW" type="xsd:string"/>
<xsd:element name="CSS" type="xsd:string"/>
<xsd:element name="CSF" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
2.4. OB Write-Read C/C++ Library
The C/C++ library distributed with this package was created to perform basic operation with the XML OB file generated by the GUI:
Write an example OB.
Read an OB file and put its content in a variable structure, described later.
self-Check utility.
Initializing structure tool.
redirect the output in a standard flow.
Here is the C-variable structure used in the Library:
/*! \struct LBC_TARGET
* Define the Target Variable Structure.
*/
typedef struct {
char *szOBName; /*!Observing Block Name, is the name of the OB without .ob extension.*/
char *szTargetName; /*!Target Name, is the name of the target of the observation.*/
char *szClassTypeObs; /*!Class Type of Observation (Dark, Scientific Object, Standard Star, Flat Field, ecc).*/
double Ra, Dec; /*!RA and DEC Coordinates (decimal degree format)*/
char *szObject; /*!Identifier observation title */
char *szObsID; /*!Unique observation ID */
char *szPropID; /*!Proposal identification */
char *szObserver; /*!Observer Name */
char *szLBCUser; /*!P.I. Name */
// double Offset_Ra, Offset_Dec; /*!RA and DEC Offset (arsec)*/
double ProperMotion_Ra, ProperMotion_Dec; /*! Proper Motion (arsec)*/
int iEquinoxOfCoord; /*!Equinox of Coordinates (1950 or 2000)*/
int fTracking; /*!Tracking, flag for tracking*/
int fTelescope; /*!Preset LBT Telescope, flag for presetting the LBT Telescope*/
int iWinXMin, iWinXMax; /*!Window X Parameters (pixels)*/
int iWinYMin, iWinYMax; /*!Window Y Parameters (pixels)*/
/*DITHERING PARAMETERS*/
int iNDit; /*!Number of Dithering Offset, number of dithering steps*/
double *XDit, *YDit; /*!X-Y Dithering Steps, from starting point [RA0,DEC0] (arcsec)*/
} LBC_TARGET;
/*! \struct LBC_FOCUS
* Define the Structure for Focus quantities for each LBC Channel.
*/
typedef struct {
char *szFocusFilterName; /*!Filter Name for focus procedure*/
int iFocusExpoNumber; /*!Number of Exposures for focus*/
double FocusSingleExpoTime; /*!Single Exposure Time for focus*/
double FocusOffset; /*!Focus Offset for each step*/
double FocusStartPosition; /*!Focus starting position*/
} LBC_FOCUS;
/*! \struct LBC_FILTERS
* Define the Structure for each LBC Channel.
*/
typedef struct {
char *szFilterName; /*!Filter Name*/
int iExpoNumber; /*!Number of Exposures, number of exposure for all dithering steps*/
double SingleExpoTime; /*!Single Exposure Time = (TotalExposureTime / NExposures) for each Dith step (sec)*/
char *szIdentifier; /*!Identifier for Arm, identifier for Pipeline Instructions*/
char *szPipeline; /*!Pipeline Instruction, to be inserted in the keyword*/
} LBC_FILTERS;
/*! \struct LBC_CHANNEL
* Define the Structure for each LBC Channel.
*/
typedef struct {
int iArmSetting; /*!Arm Setting (OFF=0 - MASTER=1 - SLAVE=2)*/
int fReadoutMode; /*!Read-Out Mode, flag for Read-Out Mode (slow=0 - fast=1)*/
int fChip1, fChip2, fChip3, fChip4; /*!Boolean for Chip turned ON-OFF*/
int fShutter; /*!Boolean or Shutter ON-OFF*/
double RotAngle; /*!Rotation Angle for Arm (degree)*/
int iCcdBin; /*!CCD Binning, factor for rebin of the image*/
int iNFilters; /*!Number of Filter for Arm (tot FilterNumber = 8)*/
LBC_FOCUS pFocus; /*!Focus Quantities and Parameters */
LBC_FILTERS *pFilter; /*!Filter Vector of iNFilters elements for Selected Arm */
} LBC_CHANNEL;
/*! \struct LBC_OB
* Define the OB Variable Structure Type
*/
typedef struct {
int fLoaded;
LBC_TARGET LBC_Target;
LBC_CHANNEL B_Arm, R_Arm;
} LBC_OB;
typedef LBC_OB *PLBC_OB; /*!Define Pointer to Main OB-Structure*/
3. FOLDER OPERATIONS
The LBC OB GUI Archiving is organized in the seguent way:
To the top level there are the Folders.
A folder is a User defined directory in a pre-defined path that can
be renamed. This directory can be created by hands through OS commands
or directly by the GUI Interface.
In the directory created the User Interface creates also an ascii fi
le (.descr) with the main Folder parameters (ie.: name and date of crea
tion).
Inside the Folder are present the Plan XML-archive files which conta
in any Observing Blocks. For each Observing Block inside the plan a cop
y is created in the Folder. It's possible also to create a single OB wi
thout connection to any Plan.
3.1. How to Create a new Folder
A new Folder can be created by the User Interface with the Folder Menu
(sub-Item "new Folder"); alternatively you can push the first jButton (
New Folder) on the top of the GUI. In the window you can choose the nam
e of the folder and the absolute path where the Folder have to be putte
n.
You can also use the particular OS system commands to create the named-
Folder in the right path.
3.2. How to Delete a Folder
A Folder can be deleted directly by the User Interface with the Folder
Menu (sub-Item "delete Folder"); alternatively you can push the jButton
(Delete Folder) on the top of the GUI. You only have to select the rig
ht Folder.
Be careful when you delete a complete folder, all its content is define
tly lost.
You can also use the particular OS system commands to delete the named-
Folder with the right path.
3.3. How to View the Folder Content
To view the content of a Folder you have con load it in the jTree. To p
erforn this action you have to choose the Folder Menu (sub-Item "Open F
older"); alternatively you can push the second jButton (Open Folder) on
the top of the GUI.
When a folder is load the jTree shows its path component, in particular
it shows the Plan XML Files. And if the directory was created by the U
ser Interface, in the jText-area is displayed the descriptor file of th
e directory.
3.4. Folder Descriptor Example File
------
Folder Name = ARCHIVIO
Date of Creation = 2003 07 19
------
4. OB OPERATIONS
4.1. How to Create a new OB
- To create a new OB it's possible to push on the nineth jButton (new OB) or selecting the jMenu OBs (sub-Item "New OB").
There are two possibilities:
1) new Single OB -> you can create a new single OB in a new window selecting OBName, TargetName,
Observing Plan Name (absolute Path if present), Folder Name (the directory repository), ProposalID,
P.I.Name (LBCUSER keyword), Observer.
It is also possible to insert defaults of particular class type of observation selecting the right radio
button choise (possible choise are: 1dark30sec, 1dark300sec, 3dark30sec, 5bias, BfineFocus,
Bfocinex, Bfocus) and it is also possible to switch between two position defaults:
a) a SLEW OPTION where the user can insert its custom RA and DEC and
b) NO-SLEW OPTION where RA and DEC are defaulted to 0.0 and -90.0
2) new OB list -> that is an utility to produce a list of OBs and save them.
There are two possible choises: a) create an OB list (file .obl) with the following parameters a row
for each obs: OBName;TargetName;ClassType;RA;DEC;EPOCH;BPosAngle;RPosAngle;
RA_ProperMotion;DecProperMotion
The file list can be overridden with manual input parameters.
You can also insert the default Directory Repository and if necessary a starting OB Scratch File.
All strings must have values separated by the ";" charcater.
You can insert the new OB name and when you confirm your choise all the other fileds in
the mainwindow will be resetted.
Anyway no OB will we written on disk until you won't save it.
4.2. How to Save an OB
To save an OB it's possible to push the relative jButton (save OB) or selecting the jMenu OBs (sub-Item "Save OB"). If a Plan is selected before a copy of the OB will be inserted in the xml-file of the plan and all records of the plan will be updated. Before to write the OB on disk the User Interface perform some calculation and variables check to be sure you selected the right values (See "OB File Structure Help" for more details).
4.3. How to Check for Variables inserted in the OB
It's possible to check for variables before saving the OB file; you only have to push the "validate" button on the right top of the GUI; if no error is displayed the OB is ready to be saved.
4.4. How to Reset OB fields
It's possible to reset all the values in the OB fields if some error has occurred, you only have to push on the right top of the GUI the "reset" button.
4.5. How to Delete an OB
To delete an OB it's possible to push on the relative jButton (delete OB) or seleting the jMenu OBs (sub-Item "Delete OB").
4.6. How to Copy an OB
To copy an OB it's possible to push on the relative jButton (copy OB) or seleting the jMenu OBs (sub-Item "copy OB"). You only have to select the origin and destination OB files.
4.7. How to Open/View OB
To open/view an OB it' s possible to push on the relative jButton (Open OB) or seleting the jMenu OBs (sub-Item "Open OB"). When the descriptor file of the OB is displayed in the new window, it's possible to choose to Load it's parameters in the mainwindow, you only have to push the "Load Values" jButton.
4.8. How to Confront different OBs in a OP
It's possible to confront more OBs in a OP double clicking in the jTree on the relative plan. It's displayed a jTable with all the OBs' records.
4.9. How to Export an OB
To Export a Descriptor file of a OB to a PS format it's possible to push on the relative jButton (export OB to PS file) or seleting the jMenu OBs (sub-Item "Export OB to PS File").
4.10. How to Print an OB
It's possible to print the descriptor file of an OB pushing the "print OB" button or seleting the jMenu OBs (sub-Item "Print OB"). NB: It's necessary to have a default printer installed and working.
5. Observing Plans
The OB Plan Archives are Xml files used to manage the OB data as a database.
A plan is inserted in a particular Folder which can contains more plans and OBs.
The organization of the Plan is described below:
Plan file (.xml), the real xml database.
Plan Schema File (.xsd), the schema file to declare the parameters in the xml file.
Plan Entry-file (.entry), ascii file which contains the list of all OBs in the plan.
Plan descriptor file (.txt), to be visualized in the jTextArea of the GUI.
In the .xml file is inserted the schema file as a xml-comment to permit the download and upload of a single plan file.
5.1. XML PLAN Example
######################
# LBC-OB GUI - Plans #
######################
The OB Plan Archives are Xml files used to manage the OB data as a database.
A plan is inserted in a particular Folder which can contains more plans and OBs.
The organization of the Plan is described below:
- Plan file (.xml), the real xml database.
- Plan Schema File (.xsd), the schema file to declare the parameters in the xml file.
- Plan Entry-file (.entry), ascii file which contains the list of all OBs in the plan.
- Plan descriptor file (.txt), to be visualized in the jTextArea of the GUI.
In the .xml file is inserted the schema file as a xml-comment to permit the download and upload of a single plan file.
#########################
# XML PLAN FILE EXAMPLE #
<?xml version="1.0" encoding="UTF-8" ?>
- <OBPlan xmlns="D:\Documents and Settings\Stefano Gallozzi\Desktop/Plan" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="D:\Documents and Settings\Stefano Gallozzi\Desktop/Plan.xsd">
<currPlan>D:\Documents and Settings\Stefano Gallozzi\Desktop/Plan.xml</currPlan>
<currFolder>D:\Documents and Settings\Stefano Gallozzi\Desktop</currFolder>
<owner>Stefano Gallozzi</owner>
<creationDate>2003/12/24</creationDate>
<comment>Prova Commento</comment>
<?xml version="1.0" encoding="UTF-8" ?>
- <ObservingBlock>
- <LBC_Target>
<OBName>Blocco1</OBName>
<TargetName>Blocco1</TargetName>
<ClassType>Scientific Object</ClassType>
<TEC_RA>12.345</TEC_RA>
<TEC_DEC>21.332</TEC_DEC>
<Equinox>2000</Equinox>
<OFF_RA>5.0</OFF_RA>
<OFF_DEC>3.4</OFF_DEC>
<ProperMotion_RA>0.5</ProperMotion_RA>
<ProperMotion_DEC>1.1</ProperMotion_DEC>
<Tracking>1</Tracking>
<Telescope>1</Telescope>
<WXMIN>1</WXMIN>
<WXMAX>2048</WXMAX>
<WYMIN>1</WYMIN>
<WYMAX>4600</WYMAX>
<PDIT>Circular</PDIT>
<ADIT>0.0</ADIT>
<SDIT>1.0</SDIT>
<DIT0>0</DIT0>
<DITX0>10.0</DITX0>
<DITY0>20.0</DITY0>
<NDIT>1</NDIT>
<XDIT>0.0 21.3 33.4</XDIT>
<YDIT>4.0 43.2 33.0 2.0</YDIT>
</LBC_Target>
- <LBC_Channel>
- <B_Arm>
<PSB>1</PSB>
<RotAngle_B>1.0</RotAngle_B>
- <Focuss_B>
<FocussOffset>10.0</FocussOffset>
<FocussStartPosition>0.0</FocussStartPosition>
</Focuss_B>
<Chip1B>1</Chip1B>
<Chip2B>1</Chip2B>
<Chip3B>1</Chip3B>
<Chip4B>1</Chip4B>
<ShutterB>0</ShutterB>
<ReadOutMode_B>0</ReadOutMode_B>
<CCDBin_B>1</CCDBin_B>
<FilterNumber_B>2</FilterNumber_B>
- <Filter>
<FilterName>2</FilterName>
<SingleExpoTime>122230.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>3</FilterName>
<SingleExpoTime>34320.0</SingleExpoTime>
<NExpo>78</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
</B_Arm>
- <R_Arm>
<PSR>2</PSR>
<RotAngle_R>2.0</RotAngle_R>
- <Focuss_R>
<FocussOffset>10.0</FocussOffset>
<FocussStartPosition>0.0</FocussStartPosition>
</Focuss_R>
<Chip1R>1</Chip1R>
<Chip2R>1</Chip2R>
<Chip3R>0</Chip3R>
<Chip4R>1</Chip4R>
<ShutterR>0</ShutterR>
<ReadOutMode_R>0</ReadOutMode_R>
<CCDBin_R>0</CCDBin_R>
<FilterNumber_R>2</FilterNumber_R>
- <Filter>
<FilterName>1</FilterName>
<SingleExpoTime>122230.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>3</FilterName>
<SingleExpoTime>34897.5</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
</R_Arm>
<ReadOutTime>7.5</ReadOutTime>
<TimeOffset>7.5</TimeOffset>
<Seeing>0.8</Seeing>
<MoonPhase>0</MoonPhase>
</LBC_Channel>
- <ConstrainSets>
<CST />
<CSP />
<CSW />
<CSS />
<CSF />
</ConstrainSets>
<OBJECT>
pg1115+047
</OBJECT>
<OBSID>
267.D-5725(A)-0001
</OBSID>
<PROPID>
267.D-5725(A)
</PROPID>
<OBSERVER>
</OBSERVER>
<LBCUSER>
Fred Flinstone
</LBCUSER>
</ObservingBlock>
<?xml version="1.0" encoding="UTF-8" ?>
- <ObservingBlock>
- <LBC_Target>
<OBName>Blocco1_20031224114931</OBName>
<TargetName>Blocco1_20031224114931</TargetName>
<ClassType>Scientific Object</ClassType>
<TEC_RA>12.345</TEC_RA>
<TEC_DEC>21.332</TEC_DEC>
<Equinox>2000</Equinox>
<OFF_RA>5.0</OFF_RA>
<OFF_DEC>3.4</OFF_DEC>
<ProperMotion_RA>0.5</ProperMotion_RA>
<ProperMotion_DEC>1.1</ProperMotion_DEC>
<Tracking>1</Tracking>
<Telescope>1</Telescope>
<WXMIN>1</WXMIN>
<WXMAX>2048</WXMAX>
<WYMIN>1</WYMIN>
<WYMAX>4600</WYMAX>
<PDIT>Circular</PDIT>
<ADIT>10.0</ADIT>
<SDIT>1.0</SDIT>
<DIT0>1</DIT0>
<DITX0>10.0</DITX0>
<DITY0>20.0</DITY0>
<NDIT>15</NDIT>
<XDIT>2.489 1.65 2.194 3.033 3.872 3.328 2.784 1.945 1.106 0.811 1.355 1.899 2.738 3.577 4.416</XDIT>
<YDIT>-22.221 -22.765 -23.604 -23.06 -22.516 -21.677 -20.838 -21.382 -21.926 -23.309 -24.148 -24.987 -24.443 -23.899 -23.355</YDIT>
</LBC_Target>
- <LBC_Channel>
- <B_Arm>
<PSB>1</PSB>
<RotAngle_B>1.0</RotAngle_B>
- <Focuss_B>
<FocussOffset>10.0</FocussOffset>
<FocussStartPosition>0.0</FocussStartPosition>
</Focuss_B>
<Chip1B>1</Chip1B>
<Chip2B>1</Chip2B>
<Chip3B>1</Chip3B>
<Chip4B>1</Chip4B>
<ShutterB>0</ShutterB>
<ReadOutMode_B>0</ReadOutMode_B>
<CCDBin_B>1</CCDBin_B>
<FilterNumber_B>2</FilterNumber_B>
- <Filter>
<FilterName>2</FilterName>
<SingleExpoTime>122230.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>3</FilterName>
<SingleExpoTime>34320.0</SingleExpoTime>
<NExpo>78</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline> ilter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
</B_Arm>
- <R_Arm>
<PSR>2</PSR>
<RotAngle_R>2.0</RotAngle_R>
- <Focuss_R>
<FocussOffset>10.0</FocussOffset>
<FocussStartPosition>0.0</FocussStartPosition>
</Focuss_R>
<Chip1R>1</Chip1R>
<Chip2R>1</Chip2R>
<Chip3R>0</Chip3R>
<Chip4R>1</Chip4R>
<ShutterR>0</ShutterR>
<ReadOutMode_R>0</ReadOutMode_R>
<CCDBin_R>0</CCDBin_R>
<FilterNumber_R>2</FilterNumber_R>
- <Filter>
<FilterName>1</FilterName>
<SingleExpoTime>122230.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>3</FilterName>
<SingleExpoTime>34897.5</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
- <Filter>
<FilterName>0</FilterName>
<SingleExpoTime>0.0</SingleExpoTime>
<NExpo>1</NExpo>
<Identifier />
<Pipeline>0</Pipeline>
</Filter>
</R_Arm>
<ReadOutTime>7.5</ReadOutTime>
<TimeOffset>7.5</TimeOffset>
<Seeing>0.8</Seeing>
<MoonPhase>0</MoonPhase>
</LBC_Channel>
- <ConstrainSets>
<CST />
<CSP />
<CSW />
<CSS />
<CSF />
</ConstrainSets>
<OBJECT>
pg1115+047
</OBJECT>
<OBSID>
267.D-5725(A)-0001
</OBSID>
<PROPID>
267.D-5725(A)
</PROPID>
<OBSERVER>
</OBSERVER>
<LBCUSER>
Fred Flinstone
</LBCUSER>
</ObservingBlock>
</OBPlan>
- <!--
START SCHEMA FILE
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>
OBSERVING BLOCK PLAN for LBC-LBT
</xsd:documentation>
</xsd:annotation>
<xsd:element name="OBPlan" type="OBPlanType"/>
<xsd:complexType name="OBPlanType">
<xsd:sequence>
<xsd:element name="currPlan" type="xsd:string"/>
<xsd:element name="currFolder" type="xsd:string"/>
<xsd:element name="owner" type="xsd:string"/>
<xsd:element name="creationDate" type="xsd:date"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:element name="ObservingBlock" type="OBType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OBType">
<xsd:sequence>
<xsd:element name="LBC_Target" type="LBC_TargetType"/>
<xsd:element name="LBC_Channel" type="LBC_ChannelType"/>
<xsd:element name="ConstrainSets" type="ConstrainSetsType"/>
<xsd:element name="OBJECT" type="xsd:string"/>
<xsd:element name="OBSID" type="xsd:string"/>
<xsd:element name="PROPID" type="xsd:string"/>
<xsd:element name="OBSERVER" type="xsd:string"/>
<xsd:element name="LBCUSER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LBC_TargetType">
<xsd:sequence>
<xsd:element name="OBName" type="xsd:string"/>
<xsd:element name="TargetName" type="xsd:string"/>
<xsd:element name="ClassType" type="xsd:string"/>
<xsd:element name="TEC_RA">
<xsd:simpleType>
<xsd:restriction base="xsd:float">
<xsd:minExclusive value="0.0"/>
<xsd:maxExclusive value="360.0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="TEC_DEC">
<xsd:simpleType>
<xsd:restriction base="xsd:float">
<xsd:minExclusive value="-90.0"/>
<xsd:maxExclusive value="+90.0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Equinox" type="xsd:integer"/>
<xsd:element name="OFF_RA">
<xsd:simpleType>
<xsd:restriction base="xsd:float">
<xsd:minExclusive value="-9999.9"/>
<xsd:maxExclusive value="+9999.9"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="OFF_DEC">
<xsd:simpleType>
<xsd:restriction base="xsd:float">
<xsd:minExclusive value="-9999.9"/>
<xsd:maxExclusive value="+9999.9"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ProperMotion_RA" type="xsd:float"/>
<xsd:element name="ProperMotion_DEC" type="xsd:float"/>
<xsd:element name="Tracking" type="xsd:boolean"/>
<xsd:element name="Telescope" type="xsd:boolean"/>
<xsd:element name="WXMIN">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
<xsd:maxExclusive value="2048"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="WXMAX">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
<xsd:maxExclusive value="2048"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="WYMIN">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
<xsd:maxExclusive value="4600"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="WYMAX">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
<xsd:maxExclusive value="4600"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PDIT" type="xsd:string"/>
<xsd:element name="ADIT" type="xsd:float"/>
<xsd:element name="SDIT" type="xsd:float"/>
<xsd:element name="DIT0">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DITX0" type="xsd:float"/>
<xsd:element name="DITY0" type="xsd:float"/>
<xsd:element name="NDIT">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="XDIT" type="xsd:float" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="YDIT" type="xsd:float" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FocussType">
<xsd:sequence>
<xsd:element name="FocussOffset" type="xsd:float"/>
<xsd:element name="FocussStartPosition" type="xsd:float"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FilterType">
<xsd:sequence>
<xsd:element name="FilterName" type="xsd:string"/>
<xsd:element name="SingleExpoTime" type="xsd:float"/>
<xsd:element name="NExpo" type="xsd:integer"/>
<xsd:element name="Identifier" type="xsd:string"/>
<xsd:element name="Pipeline" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LBC_ChannelType">
<xsd:sequence>
<xsd:element name="B_Arm" type="B_ArmType"/>
<xsd:element name="R_Arm" type="R_ArmType"/>
<xsd:element name="ReadOutTime" type="xsd:positiveFloat"/>
<xsd:element name="TimeOffset" type="xsd:positiveFloat"/>
<xsd:element name="Seeing" type="xsd:positiveFloat"/>
<xsd:element name="MoonPhase">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minExclusive value="0"/>
<xsd:maxExclusive value="14"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="B_ArmType">
<xsd:sequence>
<xsd:element name="PSB" type="xsd:integer"/>
<xsd:element name="RotAngle_B" type="xsd:float"/>
<xsd:element name="FF_B" type="FocussType"/>
<xsd:element name="Chip1B" type="xsd:boolean"/>
<xsd:element name="Chip2B" type="xsd:boolean"/>
<xsd:element name="Chip3B" type="xsd:boolean"/>
<xsd:element name="Chip4B" type="xsd:boolean"/>
<xsd:element name="ShutterB" type="xsd:boolean"/>
<xsd:element name="ReadOutMode_B" type="xsd:boolean"/>
<xsd:element name="CCDBin_B" type="xsd:integer"/>
<xsd:element name="FilterNumber_B" type="xsd:integer" minOccurs="0" maxOccurs="8"/>
<xsd:element name="Filter" type="FilterType" minOccurs="0" maxOccurs="8"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="R_ArmType">
<xsd:sequence>
<xsd:element name="PSR" type="xsd:integer"/>
<xsd:element name="RotAngle_R" type="xsd:float"/>
<xsd:element name="FF_R" type="FocussType"/>
<xsd:element name="Chip1R" type="xsd:boolean"/>
<xsd:element name="Chip2R" type="xsd:boolean"/>
<xsd:element name="Chip3R" type="xsd:boolean"/>
<xsd:element name="Chip4R" type="xsd:boolean"/>
<xsd:element name="ShutterR" type="xsd:boolean"/>
<xsd:element name="ReadOutMode_R" type="xsd:boolean"/>
<xsd:element name="CCDBin_R" type="xsd:integer"/>
<xsd:element name="FilterNumber_R" type="xsd:integer" minOccurs="0" maxOccurs="8"/>
<xsd:element name="Filter" type="FilterType" minOccurs="0" maxOccurs="8"/>
</xsd:sequence>
</xsd:complexType>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ConstrainSetsType">
<xsd:sequence>
<xsd:element name="CST" type="xsd:string"/>
<xsd:element name="CSP" type="xsd:string"/>
<xsd:element name="CSW" type="xsd:string"/>
<xsd:element name="CSS" type="xsd:string"/>
<xsd:element name="CSF" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
END SCHEMA FILE
-->
5.2. TXT OP Entry File Example
Blocco1.ob
Blocco2.ob
5.2. TXT OP Descriptor File Example
------
Plan Name = Plan.xml
Folder Name = D:\Documents and Settings\Stefano\Documenti\ARCHIVIO
Comment = Prova Commento
Owner = Stefano Gallozzi
Date of Creation = 2003-07-19 (today: 2003 07 19)
------
Blocco1.ob
Blocco2.ob
6. OP OPERATIONS
6.1. How to Create a new OP
To create a new Plan it's possible to push on the fourth jButton (new Plan) or selecting the jMenu Plans (sub-Item "New Plan"). The Window permits to insert some parameters as the plan name, the Folder location, the owner, the date of creation and a comment.
6.2. How to Delete an OP
To delete a Plan it's possible to push on the relative jButton (delete Plan) or seleting the jMenu Plans (sub-Item "Delete Plan").
6.3. How to Copy an OP
To copy a plan it's possible to push on the relative jButton (copy Plan) or seleting the jMenu Plans (sub-Item "copy Plan"). You only have to select the origin and destination Plan files.
6.4. How to View an OP
To view a Plan it' s possible to push on the relative jButton (Open Plan) or seleting the jMenu Plans (sub-Item "Open Plan"). When a plan is visualized on the jTree, the description file is displayed on the jText-Area. It's possible to perform some operation:
Double click of the mouse on the jTree item corresponding to the Plan, you visualize a jTable with the Observing Block present in the relative plan with respective parameters.
Right click of the mouse on the jTree item corresponding to the Plan, you can choose to display all possible operation on the single plan. A new window is displayed where you can choose to delete, copy, export Plan descriptor file as PS file, view Plan and view the single OB of the plan.
6.3. How to Export an OP
To Export a Descriptor file of a Plan to a PS format it's possible to push on the relative jButton (export Plan to PS file) or seleting the jMenu Plans (sub-Item "Export Plan to PS File").
7. CHIP SETTINGS
In the second panel called "observation description" panel there are two button used to preset default chip settings both for B and R Arm:
1) Chip Settings Parameter
2) Focus Setting
7.1. Chip Settings
It is a window used to edit and change default Chip settings parameters, i.e.: B-R Arm Setting
(MASTER-SLAVE-OFF); selection and exclusion of some chip of the detector; ReadOut mode (slow/fast);

CCD
Binning (1x1/2x2) and the Shutter and window parameters X-Y min max
pixels.
7.2. Focus Settings
It is a windows which is browsable only if the class-type for the observaton is FOCUS.
To execute the focus procedure there will be used the first filter of the B-channel (0) with its own Single Exposure Time (0.0) and with the corresponding number of exposures (1).
Here a user can select the default offset in microns and the default starting position.

8. DITHERING CALCULATOR
Filling up the required fields with right values it's possible to calculate the dithering offsets for an observation
Any user may create all different dithering patterns he likes for his observation.
If a user selects a particular dithering pattern (i.e. 10 step) the LBC control system will start
the observation of #1st filter in the 1st dithering position; then it will offset the telescope to the
2nd dithering position... and so on until the 10th dithering position will be reached; then if selected
in the OB, the LBC control system will start the 2nd filter observation to the same dithering pattern... and so on until the entire filter list will be executed.
Because of the binocular conformation the dithering pattern is common both to Master adn Slave Channel and if a particular Position Angle is selected it will be the same for Master and Slave Arm.
Here are the Possible dithering calculations:
-a) Random Dithering
-b) 4 Step default (will point a star in the center of any LBC-chip (according to Position Angle)
-c) 5 Step default Right&Left side dithers (X axis inverted) with scale of 20arcsec (minimal scale to
fill ccds' gaps)
-d) 9 Step default Right&Left side dithers (X axis inverted) with scale of 20arcsec (minimal scale to
fill ccds' gaps)
-e) 5+5 Step default Right&Left side dithers (X axis inverted) with scale of 20arcsec (minimal scale to fill ccds' gaps)
-f) 10 Step default dithers with scale of 20arcsec (minimal scale to fill ccds' gaps)
-g) circular dithering patterns
-h) rectangular dithering patterns
-i) user provided dithering patterns, which imports an ascii file with semi-colon separated X/Y ditherings (in arcsec)
-l) none dithering pattern permits the user to insert by hand all dithering offsets without any particular pattern.
According to dithering pattern selected it is possible to choose the starting item, apply a particular offset in RA/DEC to all steps, apply a rotation or change the
scale to fill better the CCDs' gaps.
It is also possible to convert dithering from arcsec to pixels and vice-versa even though the OB dithers will be saved always in arcsec steps.
The best dithering patterns depends on the observing strategy and target of the observation:
-To observe SKY DEEP FIELDS it is recommended to use combination of different patterns both Left and Right sided (10R+10L + 9L+9R) instead of a repeated single deep dithering (i.e. 10R+10L is better than 2x10L but 10R+9R is even better).
-To observe a LOCAL GALAXIES, STANDARD STAR FIELDS, GLOBULAR CLUSTERS and so on, it is recommended to use any gap filling dithering (i.e. 5L+5R, default10 or a rectangular/circular combination all with dithering-scale > 20 arcsec).
-If it is necessary to locate a star in the center of any chip you need to use the default 4 step.
---
Default LBC dithering steps may be found in the following image.

Any further information may be found at the official LBTO observing site:
http://medusa.as.arizona.edu/lbto



9. EXPOSURE TIME CALCULATOR
9.1. How to Open ETC Panel
In the observation description TabPanel you have to push the one of the ETC button corresponding on the Filter to calculate to (see following picture).
9.2. How to Make Calculations
For each filter and dithering steps, it's possible to perform the Exposure Time Calculator inserting right values of parameters such as Magnitude Limit, SNR, SkyBackground, Magnitude of Saturation, ecc...
There're three tipe of calculation depending on the input for Total Exposure Time:
get TotalExposureTime from SNR and MagnitudeLimit
get SNR from TotalExposureTime and MagnitudeLimit
get MagnitudeLimit from SNR and TotalExposureTime
These three calculations are available with one of the following four quantities fixed:
SingleExposureTime
Number of Exposures
SkyBackground
Magnitude of Saturation
As input parameters you also have to select which kind of object would you like to simulate (i.e. Star, SpiralGalaxy or EllipticalGalaxy), the Filter, the Airmass, the MoonPhase and the PhotometricAperture. If you'd like to have a ploto for the filter used, you have to push the Filter Efficiency button and a new window will appear with the Filter Efficiency, the Total Efficiency at the selected airmass and the Total Efficiency in vacuum.
Finally when all physical quantities are set correctly you only have to push the perform ETC button and all fields will be filled if the calculation has run.
It's possible to view the resulting simulation and calculation parameters by clicking on the view detailed parameters label, the result is a new window with the image of the star/galaxy simulated and all the calculated parameters (see also WEB implementation of ETC: http://lbc.mporzio.astro.it).
9.3. How to Send Data Filter to the GUI
When you have performed a calculation with the right physical parameters and you wish to send these calculated parameters to the main GUI window, you have to push the send to mainwindow button: the selected Filter field will be filled with the calculated parameters from the ETC. The parameters send to the filter field are the Total Exposure Time, Single Exposure Time and number of Exposures for that dithering steps.



9.4. ETC Formulas (A. Grazian)
###########################################
# Exposure Time Calculator (ETC) for LBC. #
###########################################
The preliminary step is to distinguish between Masters Arms and Slave Arms; the reason why is that the Slave Channel must follow the Master in order not to get independent exposures.
According with the ditering steps here is the flux diagram of the exposures.
TETB = Total Exposure Time
SET = Single Exposure Time
NE = Number of Exposures
NDIT = Number of Dithering Steps
ROT = Read-Out Time
if (Channel is Master) TET(master) = SET(master) * NDIT * NE(master) => SET(master) = TET(master) / (NDIT * NE(master))
if (Channel is Slave ) TET(slave) = SET(slave) * NDIT * NE(slave) => SET(slave) = {[(SET(master) + ROT) * NE(master)] / NE(slave)} - ROT
##########################################################
# FIRST PANEL (TOTAL EXPOSURE TIME)
##########################################################
First case:
given the seeing, the aperture for photometry, the exposure time and the Signal to Noise ratio, you can compute the magnitude of a source in the given aperture and the total magnitude, given the aperture correction.
s=seeing (arcsec)
p=pixel size (arcsec/px)
t=total exposure time (second)
w=photometric aperture diameter (arcsec)
r=ratio between aperture w and seeing s (aperture in seeing units)
A=area (pixel)
M=total magnitude (AB mag)
Ma=magnitude at a given aperture (AB mag)
Ms=magnitude of the sky (AB mag/arcsec**2)
SN=Signal to Noise Ratio
F=total flux of the source in ADU
B=flux of the background (per pixel) in ADU
ZpAirm=magnitude zero point for a given Airmass
Zp=magnitude zero point for Airmass=0.0
Ca=correction aperture (for star, elliptical or spiral galaxy)
n=number of exposures
g=gain (e-/ADU)
a=flat field accuracy for a single exposure
ron=Read Out Noise of LBC (e-/ADU)
p=0.23
a=0.005
ron=2.25
g=2.09
r=w/s
A=3.141592654*(s*r/(2*p))**2
B=t*(p**2)*(10**(-0.4*(Ms-Zp)))
eta=a**2/n
alpha=1
betha=-(SN)**2/g
gamma=-(SN)**2[n*A*(ron/g)**2+B*A/g+eta*B**2*A]
F=(-betha+sqrt(betha**2-4*alpha*gamma))/(2*alpha)
Ma=-2.5*log10(F)+ZpAirm
(magnitude limit at a given SN in an aperture w)
M=(Ma-Ca)
(total Magnitude of the object)
Description: given the seeing s, the pixel size p of LBC and the aperture in arcsec w,
the ETC program computes the ratio r between the aperture and the seeing. Then it computes the area A in pixel
for this aperture. The next step is to compute the background B in ADU for the single pixel,
given the total exposure time t, the Magnitude of the Sky Ms, the Zero point Zp at airmass=0.0. At the end one
computes the magnitude limit Ma at a given Signal to Noise ratio SN. The magnitude of the sky Ms depends
on the Moon day (0,3,7,10,14) and the filter used. It is always computed at airmass=0. It can be read from the
LBC Database.
The Zero Point for t seconds of exposure time, for a given airmass
and for a given filter is
ZpAirm=2.5*log10(t)+ZpAirma(t=1)
The zero point for 1 second of exposure time and for a given
airmass can be found in ZEROPNT.dat, where there are the zero
points for airmass=0.0,1.0,1.1,1.2,1.3,... and 3.0;
other values of airmass can be extrapolated.
The number of exposures n is computed dividing the Total Exposure Time TET by the
Single Exposure Time SET for a single exposure. This parameter is taken from the
right panel and it is the only parameter calculated by a cross talk of the two
panels (TET and SET).
At the end one has the magnitude limit Ma for a given filter, moon, exposure time,
airmass, seeing, aperture and Signal to Noise Ratio. These formulas compute the
magnitude limit in an aperture w! If the object is greater than that aperture,
the total magnitude of the object could be brighter. It is computed as a simple
formula MagTot=Ma-Ca and displayed in the outputs of the ETC for the TET panel.
####################################################################
Second case:
given the seeing s, the aperture for photometry w, the exposure time t and
the magnitude of an object M, you can compute the Signal to Noise ratio
SN in the given aperture. This result depends on the type of the source:
star or galaxy (spiral or elliptical).
s=seeing (arcsec)
p=pixel size (arcsec/px)
t=total exposure time (second)
w=photometric aperture diameter (arcsec)
r=ratio between aperture w and seeing s (aperture in seeing units)
A=area (pixel)
M=total magnitude (AB mag)
Ma=magnitude at a given aperture (AB mag)
Ms=magnitude of the sky (AB mag/arcsec**2)
SN=Signal to Noise Ratio
F=total flux of the source in ADU
B=flux of the background (per pixel) in ADU
ZpAirm=magnitude zero point for a given Airmass
Zp=magnitude zero point for Airmass=0.0
Ca=correction aperture (for star, elliptical or spiral galaxy)
n=number of exposures
g=gain (e-/ADU)
a=flat field accuracy for a single exposure
ron=Read Out Noise of LBC (e-)
p=0.23
a=0.005
g=2.09
ron = 2.25
r=w/s
A=3.141592654*(s*r/(2*p))**2
B=t*(p**2)*(10**(-0.4*(Ms-Zp)))
eta=a**2/n
ZpAirm=2.5*log10(t)+ZpAirm(t=1)
Ma=M+Ca
F=t*10**(-0.4*(Mc-ZpAirm1))
SN=F/sqrt((F+B*A)/g+n*A*(ron/g)**2+eta*B**2*A)
Description: given the seeing s and the aperture w, first compute the sky brightness B
and the area A using the above formulas. Then compute r, the ratio of the aperture and seeing.
For a stellar source, find in the file totcorr_star.dat the row corresponding to r=w/s;
the second column gives Ca, the correction for a given aperture.
For an elliptical galaxy, find in the file totcorr_ell.dat the row corresponding to r=w/s;
For a spiral galaxy, the corresponding file is totcorr_spi.dat.
Search in the column corresponding to the seeing the correction Ca, for a given aperture and
a given seeing. Then correct the input magnitude for Ca, compute the flux F in ADU for the
given source and compute the Signal to Noise ratio SN. These formulas compute the Signal to
Noise ratio in an aperture w. The term eta provides the contribution of the flat field accuracy
to the Noise of a given exposure. It depends on the number of exposures (a**2/n).
Warning: This is the reference formula for the ETC: the first and the third cases of this panel
(TET) are derived inverting this formula. To enhance the Signal to Noise Ratio it is possible
to act on the total exposure time t and/or on the number of exposures n.
#############################################################################
Third case:
given the seeing s, the aperture for photometry w, the Signal to Noise ratio SN and
the magnitude of an object M, you can compute the exposure time required to reach SN
in the given aperture. This result depends on the type of the source: star, elliptical
galaxy or spiral.
s=seeing (arcsec)
p=pixel size (arcsec/px)
t=total exposure time (second)
w=photometric aperture diameter (arcsec)
r=ratio between aperture w and seeing s (aperture in seeing units)
A=area (pixel)
M=total magnitude (AB mag)
Ma=magnitude at a given aperture (AB mag)
Ms=magnitude of the sky (AB mag/arcsec**2)
SN=Signal to Noise Ratio
F1=flux of the source in ADU for 1 second of exposure time
B1=flux of the background (per pixel) in ADU for 1 second of exposure time
ZpAirm1=magnitude zero point for a given Airmass at 1 second of exposure time
Zp1=magnitude zero point for Airmass=0.0 at 1 second of exposure time
Ca=correction aperture (for star, elliptical or spiral galaxy)
n=number of exposures
g=gain (e-/ADU)
a=flat field accuracy for a single exposure
ron=Read Out Noise of LBC (e-)
p=0.23
a=0.005
ron=2.25
g=2.09
r=w/s
A=3.141592654*(s*r/(2*p))**2
B1=(p**2)*(10**(-0.4*(Ms-Zp1)))
Ma=M+Ca
F1=10**(-0.4*(Mc-Zp1))
K1=(F1+A*B1)/g
alpha=F1**2-(a**2/n)*(SN)**2*B1**2*A
betha=-(SN)**2*K1
gamma=-(SN)**2*n*A*(ron/g)**2
t= (-betha+sqrt(betha**2-4*alpha*gamma))/(2*alpha)
Description: given the seeing s and the aperture w for photometry, compute the ratio r between w and s.
Compute the area A of the aperture and the correction for a given aperture Ca. Then correct the
input magnitude of the source for the Ca value, compute the flux of the source F1 for an exposure time
of 1 second and B1 for the sky background. Then compute the total time t needed to reach a given Signal
to Noise ratio SN in an aperture w.
Warning: The coefficient alpha must be a positive number. If it is negative or null, no solution
can be reached. In this case it is useful to increase the Magnitude of the source M or the number
of exposures n. In the same way, it is possible to decrease the given Signal to Noise to reach
convergence in the calculations.
######################################################################
# SECOND PANEL (SINGLE EXPOSURE TIME)
######################################################################
These formulas link the Single Exposure Time (SET), the number of exposures,
the Background and the Magnitude Saturation (Magnitude of a star that
saturates in a single exposure). Only one parameter is needed to obtain the others.
----------------------
First Case:
Single Exposure Time is given
Given the single exposure time SET, compute the number of exposures n, the background B
and the magnitude at saturation Msat for a single exposure.
s=seeing (arcsec)
p=pixel size (arcsec/px)
SET=single exposure time (second)
TET=total exposure time (second)
w=photometric aperture diameter (arcsec)
r=ratio between aperture w and seeing s (aperture in seeing units)
A=area (pixel)
Msat=magnitude at saturation (AB mag)
Ma=magnitude at a given aperture (AB mag)
Ms=magnitude of the sky (AB mag/arcsec**2)
SN=Signal to Noise Ratio
F=total flux of the source in ADU
B=flux of the background (per pixel) in ADU
ZpAirm1=magnitude zero point for a given Airmass at 1 second of exposure time
Zp1=magnitude zero point for Airmass=0.0 at 1 second of exposure time
Ca=correction aperture (for star, elliptical or spiral galaxy)
n=number of exposures
betha=Moffat Profile Parameter
R0=scale length of Moffat profile
I(R)=intensity for a Moffat profile at a given radius R
Io=peak intensity for the Moffat profile I(R=0)
TF=total flux of Moffat profile
The Moffat profile is defined as follows:
betha=2.5
R0=s/(2*p)
I(R)=I0[1+(2**(1/betha)-1)*(R/R0)**2]**(-betha)
TF=Int_0^Infinity (2*pi*R*I(R)dR)
defining alpha=(2**(1/beta)-1)
we have
TF=I0*pi*(R0**2)/(alpha*(beta-1))
Io=alpha*(betha-1)/(pi*R0**2) is the maximum of the Moffat profile for total flux TF=1
given all these relations, it is simple to compute the required parameters.
n=TET/SET
B=SET*p**2*10**(-0.4*(Ms-Zp1))
I0=2**16-B
TF=I0*pi*(R0**2)/(alpha*(betha-1))
F1=TF/SET
Msat=-2.5*log10(F1)+Zp1
Description: the number of exposures n is the ratio between the Total Exposure Time TET
and the Single Exposure Time SET. It should be an integer number, so it is possible that
the product SET*n is substantially different from TET. In this case a simple Warning is given.
Given the seeing of the observation s, and assuming a Moffat profile, one computes the maximum
of the profile I0 for an object with total flux TF=1. Given the Magnitude of the Sky Ms and
the Single Exposure Time SET, the Background B is derived. The magnitude at saturation Msat is
computed for 65536 (2**16) ADU (full well capacity of a single pixel for LBC). The maximum of
an image is the sum of the background and the peak of the source I0, for an exposure time of SET.
Given the total flux TF required to saturate the frame for a Single Exposure Time (SET), one can
compute the flux for 1 second F1 and then derive the Magnitude of Saturation Msat. If the ADUs
are greater than 65536 (2**16) or equal, the image is saturated and an Error message is given.
Warning: check that the Single Exposure Time (SET) is consistent with the Total Exposure Time (TET).
It is not possible that SET is greater than TET. If TET is large, verify that the combination of TET
and SET gives an adequate number of exposures n.
-----------------------------------
Second Case:
Number of Exposures is given
Given the number of exposures n, compute the Single Exposure Time SET, the background B and
the magnitude at saturation Msat for a single exposure.
SET=single exposure time (second)
TET=total exposure time (second)
n=number of exposures
SET=TET/n
Description: the Single Exposure Time SET is derived dividing the Total Exposure Time TET by the
number of exposures n. Then to derive the Background B for a Single Exposure and the Magnitude
of Saturation Msat the formulas are the same of the First Case.
Warning: check that the number of exposures n is consistent with the Total Exposure Time (TET).
n should be an integer number. If TET is large, verify that the combination of TET and n gives
an adequate value for the Single Exposure Time SET.
-------------------------------------
Third Case:
Background is given
Given the Background B for a single exposure, compute the Single Exposure Time SET, the number
of exposures n and the magnitude at saturation Msat for a single exposure.
s=seeing (arcsec)
p=pixel size (arcsec/px)
SET=single exposure time (second)
TET=total exposure time (second)
w=photometric aperture diameter (arcsec)
r=ratio between aperture w and seeing s (aperture in seeing units)
A=area (pixel)
Msat=magnitude at saturation (AB mag)
Ma=magnitude at a given aperture (AB mag)
Ms=magnitude of the sky (AB mag/arcsec**2)
SN=Signal to Noise Ratio
F=total flux of the source in ADU
B=flux of the background (per pixel) in ADU
ZpAirm1=magnitude zero point for a given Airmass at 1 second of exposure time
Zp1=magnitude zero point for Airmass=0.0 at 1 second of exposure time
Ca=correction aperture (for star, elliptical or spiral galaxy)
n=number of exposures
betha=Moffat Profile Parameter
R0=scale length of Moffat profile
I(R)=intensity for a Moffat profile at a given radius R
Io=peak intensity for a Moffat profile I(R=0)
TF=total flux of Moffat profile
SET=B/(p**2*10**(-0.4*(Ms-Zp1)))
n=TET/SET
I0=2**16-B
R0=s/(2*p)
TF=I0*pi*R0**2/(alpha*(betha-1))
F1=TF/SET
Msat=-2.5*log10(F1)+Zp1
Description: given the Background B for a single exposure, it is possible to compute
the Single Exposure Time SET knowing the background for 1 second of exposure time.
The number of exposures n is the ratio of TET and SET. The peak I0 of a source at
the saturation level is derived using the background B. Given the seeing of the observation s,
and assuming a Moffat profile, one computes from the maximum of the profile I0 the total flux TF.
The magnitude at saturation Msat is computed for 65536 (2**16) ADU (full well capacity of
a single pixel for LBC). Given the total flux TF required to saturate the frame for a Single
Exposure Time (SET), one can compute the flux for 1 second F1 and then derive the Magnitude
of Saturation Msat. If the ADUs are greater than 65536 (2**16) or equal, the image is saturated
and an Error message is given.
Warning: it is not possible to enter a Background B greater or equal to 65536 (2**16) ADU.
If TET is large, verify that the combination of TET and B gives an adequate number of exposures n.
------------------------------------------
Fourth Case:
Magnitude at Saturation is given
Given the Magnitude at Saturation Msat for a single exposure, compute the Single Exposure Time SET,
the number of exposures n and the Background B for a single exposure.
s=seeing (arcsec)
p=pixel size (arcsec/px)
SET=single exposure time (second)
TET=total exposure time (second)
w=photometric aperture diameter (arcsec)
r=ratio between aperture w and seeing s (aperture in seeing units)
A=area (pixel)
Msat=magnitude at saturation (AB mag)
Ma=magnitude at a given aperture (AB mag)
Ms=magnitude of the sky (AB mag/arcsec**2)
SN=Signal to Noise Ratio
F=total flux of the source in ADU
B=flux of the background (per pixel) in ADU
ZpAirm1=magnitude zero point for a given Airmass at 1 second of exposure time
Zp1=magnitude zero point for Airmass=0.0 at 1 second of exposure time
Ca=correction aperture (for star, elliptical or spiral galaxy)
n=number of exposures
betha=Moffat Profile Parameter
R0=scale length of Moffat profile
I(R)=intensity for a Moffat profile at a given radius R
Io=peak intensity for a Moffat profile I(R=0)
B1=sky counts for 1 second of exposure time
F1=total flux for 1 second of exposure time
I1=peak intensity for 1 second of exposure time
TF=total flux of Moffat profile
B1=p**2*10**(-0.4*(Ms-Zp1))
F1=10**(-0.4*(Msat-ZpAirm1))
R0=s/(2*p)
I1=(F1*alpha*(betha-1))/(pi*R0**2)
SET=2**16/(B1+I1)
B=SET*p**2*10**(-0.4*(Ms-Zp1))
n=TET/SET
Description: given the Background B1 for 1 second of exposure and the flux at saturation F1 for
1 second of exposure, it is possible to compute the peak I1 of a source that saturates the CCD.
The Single Exposure Time SET is derived from the flux of the background and the source for 1 second
of exposure time. The Background B for a single exposure is derived using the Single Exposure Time SET
and the Magnitude of the Sky Ms. Then the number of exposures n is derived referring to the
Total Exposure Time TET. If the ADUs are greater than 65536 (2**16) or equal, the image is saturated.
Warning: if TET is large, verify that the combination of TET and Msat gives an adequate number of exposures n.
10. INTERACTIVE POINTING
The Interactive Pointing (IP) is a tool inside the GUI to perform interactive visualization of a particular sky-region centered on the RA and DEC coordinate.
To execute the tool you must click on the "Interactive Pointing" label located in the "target package" tab panel; a new window will appear with DSS image of the LBC field near the RA and DEC coordinates selected in the same tab-panel.
In the conf/gsc1 directory a dss fits image of NAXIS1/2==1pixel will be downloaded in order to read the CROTA1 keyword from fits header and to compensate the arbitrary rotation of the GSC1
images.
The Sky Image are imported by On-line http-request to an ESO catalog.
To perform IP you need to have a working internet connection.
Concerning the dithering pattern selected in the Observation tab-panel, the IP frame shows all
dithering steps of the camera superimposed with a default scaled trasparency.
So the visualization tool draws the projection of the four science LBC-chips on the sky region
and also the guide and ao tech chips and permit the user to offsetting and rotating them in the Field of View (FOV).
The X-Y Coordinate are the RA-Dec projection of the 40x40 arcmin sky image and orientation is
always referred to N-W as positive RA/DEC axis.
- To offset the chips it's necessary that the jRadio-Button is selected on the Both Channel,
because it's not possible to offset one arm to another.
Then you can push the relative offsetting direction to move the projection of the chips on the sky FOV.
Alternatively you can offset the two cameras by dragging the mouse on a particular object and the IP will calculate for you the neccessary offset to center the FOV on the selected object.
- To rotate the chips you can act on the relative "rotate buttons".
- To reset the position to zero values you can push the central offsetting button (Reset position).
- To choose the scale of steps for ofssetting and rotation you can enable the jCheckBox and insert it by yoursel.
- It is possible to view any single dithering step simply selecting the corresponding DithSteps and/or selecting single chip view or none.
- It is possible to ZOOM+/- and drag the entire view of the LBC FOV pushing the "ZOOM IN"/"ZOOM OUT" button and double clicking on one of the LBC field.
- To load the changes in the mainwindow you only have to confirm the choise and when the IP window disappears in the mainwindow fields "Offsetting" and "Rotation" will appear the right values.
It's possible to recenter the RA-DEC position of the OB pushing on the jButton on the right of the Offsetting field.
- To load changes recentering Position simply click on the "OK and Recenter Position" button:
DEC=DEC0 + DECoff(arsec) / 3600
RA = RA0 + RAoff(arcsec) / (cos(DEC)*3600)
- To Discard the changes you only have to click on the exit button.

11. ON LINE HELP
A useful utility which helps the user to perfomr any task of the OB GUI is present and it is called LBC-ON Line Help.
It is accessible by clicking on both „OnLine Help“ Menu item or a Main GUI Panel special Button.
There are some fixed help topics:
Help Topics
OB File Structure
Folders
Plans
OBs
Dithering Calculator
Interactive Pointing
Chip Settings and Focus Settings

ETC
Acknowledgements
I wish to thank Faraday s.r.l. (www.faraday.it) for base GUI project from which I took the first graphical appearance of the main application.
I wish to thank also A.Grazian for ETC calculation formulas.
I wish to thank all the LBC TEAM for the many suggestions and requests act to make the application better and better, in special way A.Fontana, E. Giallongo and Andrea Di Paola.
A special mention is dued to C. De Santis for his informatic support and the collaboration with all LBC/LBT Team in Arizona expecially with Olga Kuhn for bug fixing.
Stefano Gallozzi
Osservatorio Astronomico di Roma URL: http://www.mporzio.astro.it
Via Frascati, 33 e-mail: fontana@mporzio.astro.it
00040 Monte Porzio Catone, Italy giallo@mporzio.astro.it
Voice/Fax: ++39 06 9428641/++39 06 9447243 gallozzi@mporzio.astro.it