This is historical information of device classes implemented in GenericMirror device server.
Use this link to find the valid information.
Development status:
Released
Information status: New
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
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 |
---|---|
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 |
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 |
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 |
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 are looking at this version now.
23 Feb 2017, Piotr Goryl
Created:
The device class has been added to catalogue.
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 are looking at this version now.
23 Feb 2017, Piotr Goryl
Created:
The device class has been added to catalogue.
Added by:pgoryl2
on:20 Apr 2017, 1:05 p.m.