This is historical information of device classes implemented in GenericMirror device server.
Use this link to find the valid information.
    
        
         Development status:
    Released,
            Release: release_1_3_2
        
    
    Development status:
    Released,
            Release: release_1_3_2
        
    
    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
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 | 
Updated:
The device class has been updated.
You are looking at this version now.
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.
