public class SourcePosition extends Object implements stream.StatefulProcessor
This processor handles a handful of different tasks. It can calculate the source position in the camera for some fixed celestial coordinates (e.g. In case you want to get the coordinates of a star projected onto the camera plane)
For data processing we need the auxService to read data from both the DRIVE_CONTROL_SOURCE_POSITION and the DRIVE_CONTROL_TRACKING_POSITION files. The first contains the name and celestial coordinates of the source we're at looking while the second contains information at where the telescope pointing which is updated in small intervals.
Unfortunately MC processed files have to be treated differently than data files since there are no pointing positions written to auxiliary files. For newer ceres versions which allow the simulation of wobble positions (after revision 18159), the source and pointing information are simply taken from the data stream.
For older ceres versions you can simply specify fixed X and Y coordinates in the camera plane.
Modifier and Type | Field and Description |
---|---|
AuxiliaryService |
auxService |
boolean |
hasMcWobblePosition |
String |
outputKey |
String |
pointingAzKey |
String |
pointingZdKey |
String |
sourceAzKey |
Double |
sourceDeclination |
Double |
sourceRightAscension |
String |
sourceZdKey |
String |
timeStampKey |
Double |
x |
Double |
y |
Constructor and Description |
---|
SourcePosition() |
Modifier and Type | Method and Description |
---|---|
void |
finish() |
void |
init(stream.ProcessContext arg0)
Here we check whether an auxservice has been set or some fixed coordinates have been provided in the .xml.
|
stream.Data |
process(stream.Data item)
The process method adds the azimuth and zenith values for the pointing, tracking and source position.
|
void |
resetState() |
@Parameter(required=true, description="The key to the sourcepos array that will be written to the map.") public String outputKey
@Service(required=false, description="Name of the service that provides aux files") public AuxiliaryService auxService
@Parameter(required=false, description="The key containing the event timestamp") public String timeStampKey
@Parameter(description="If set, the fixed x position of the source in mm") public Double x
@Parameter(description="If set, the fixed y position of the source in mm") public Double y
@Parameter(description="In case of MC-Input you specify the key to the source coordinates") public String sourceZdKey
@Parameter(description="In case of MC-Input you specify the key to the source coordinates") public String sourceAzKey
@Parameter(description="In case of MC-Input you specify the key to the pointing coordinates") public String pointingZdKey
@Parameter(description="In case of MC-Input you specify the key to the pointing coordinates") public String pointingAzKey
@Parameter(required=false) public Double sourceRightAscension
@Parameter(required=false) public Double sourceDeclination
public boolean hasMcWobblePosition
public stream.Data process(stream.Data item)
process
in interface stream.Processor
public void init(stream.ProcessContext arg0) throws Exception
init
in interface stream.StatefulProcessor
Exception
public void resetState() throws Exception
resetState
in interface stream.StatefulProcessor
Exception
Copyright © 2019. All rights reserved.