.

Average: 0
Rating Count: 0

Development status: New development
Information status: Updated
Repository: http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/BeamlineComponents/Mirrors/GenericMirror
Contact:



Class Description


This device is used to control a Mirror:
when the user write on the theta attribute, the device calculate (via Optical Formulas) the values to send to the underlying devices (theta rotation,bender)

Families: BeamlineComponents

Key words: - Mirrors

Platform: All Platforms

Language: Cpp

License:

Contact:

Hardware


Bus: Not Applicable

Class interface


Attributes:

Name Description
thetaScalar: DevDouble
pDistanceScalar: DevDouble
qDistanceScalar: DevDouble
typeScalar: DevString
currentStripScalar: DevUShort
currentStripNameScalar: DevString
curvatureScalar: DevDouble
txScalar: DevDouble
isBenderLessScalar: DevBoolean

Commands:

Name Description
StateInput: DevVoid
Output: State
This command gets the device state (stored in its device_state data member) and returns it to the caller.
StatusInput: DevVoid
Output: DevString
This command gets the device status (stored in its device_status data member) and returns it to the caller.
StopInput: DevVoid
Output: DevVoid
Stop all the motors
InitializeMirrorInput: DevVoid
Output: DevVoid
Method to initialize all the object needed by the device mirror
ChangeStripInput: DevUShort
Output: DevVoid
Method to change the wanted strip of the mirror

Pipes:

Properties:

Name Description
ChangeStripMotorNameDevString This method allows to change the strip of the mirror
CommandStateNameDevString Gives the name of the STATE command according the target device. For SimulatedMotor it is State.
CommandStopNameDevString Name of the command stop for the reached device.
DistanceBetweenMirrorAndImageQDevDouble This is the q parameter representing the distance between the mirror and the image (infinity so INVALID for a focalisation mirror)
DistanceBetweenSourceAndMirrorPDevDouble This is the p parameter representing the distance between the beam source and the mirror (infinity so INVALID for a collimation mirror)
HasBenderDevBoolean Indicate if there is a bender linked to the mirror
AttributeCurvatureNameDevString If a bender is used this property gives the name of the curvature attribute of the bender device.
AttributePositionNameDevString Give the name of the attribute to move the motor according the motors device used.
AttributeThetaNameDevString The name of the attribute to reach for the theta. For instance, if a TPP is used to rotate the mirror, the properties must be set to pitch
BenderDeviceNameDevString If a bender is used this property gives the name of the bender device to reach
MirrorTypeDevShort The type of the mirror : - `0` for a normal mirror - `1` for a focusing mirror - `2` for a collimation mirror - `3` for an elliptic mirror
StripNumberDevShort The number of strip of the mirror. Set to 1 if there is no strip.
StripValuesDouble[]Type The values of the reference position of each mirror strip. These values are used to position the mirror to the wanted strip.
StripNamesString[]Type The name of the strip.
ThetaMotorNameDevString The name of the motor which can move the theta mirror angle.
HasChangeStripMotorDevBoolean This propertie is used to indicate if there is a motor to change strip.
CanRotateDevBoolean This property indicate if the mirror have a motor to rotate. This property must be set to TRUE if there is a motor and FALSE if not.
RotationAngleDevDouble If the CanRotate property is set to TRUE, then this property is used to set the default angle of the mirror.
BenderCurvatureUnitDevShort This property is used to indicate what is the unit of the bender curvature if the miror use a bender. Indeed, the curvature value is computed thanks the next equation : 1/R = (p+q)*sin(theta)/(2*p*q) But the bender device is waiting a new value of curvature in the same unit as it is configured in the device bender. So it is necessary to compute (in the generic mirror device) a good value of 1/R in the same unit as in the bender. 1 - bender curvature is in m-1 2 - bender curvature is in km-1
ThetaMotorUnitDevShort This property is used to make coincidate the unit of the theta (for instance pitch of a TPP in mrad) with the value of theta in the mirror device. The possible choice are : 1 - mrad 2 - degre
DefaultStripDevLong The default strip index to be used when a init command is called
StripValuesToleranceDevDouble Tolerance on the strip values. if the strip setting does not correspond to the motor position +/- the tolerance, the device will be disabled


Please log in to comment.

22 Feb 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



20 Apr 2017, Piotr Goryl
Updated:
The device class has been updated.
You can see previous version here .



23 Feb 2017, Piotr Goryl
Created:
The device class has been added to catalogue.
Added by:pgoryl2 on:23 Feb 2017, 9:32 a.m.