TwiceAsNice
2019-02-18
|
This class represents the SX or DX or both sides of the LBT. More...
#include <IifSide.h>
Public Member Functions | |
IifSide (const enum IifSid anysdx=SIDE_NONE) | |
IifSide (const std::string &fstation) | |
construct from astring like "blabla right" or "bla both" or "sx" or "dx". More... | |
IifSide (const IifSide &oth) | |
copy constructor More... | |
IifSide & | operator= (const IifSide &oth) |
Assignment operator. Deep copy of this state. More... | |
std::string | toString () const |
Generate a string as used in the ICS initializations. More... | |
std::string | toStringCfg () const |
Generate a string as used in the file names of LN configurations. More... | |
int | toIntIdx () const |
Generate a index 0 or 1 suitable for the two indices of two proxies. More... | |
IifSide | intersect (const IifSide &oth) const |
Mutually compatible minimum set of sides. The function takes a set-intersection of this side and the other side. This is similarly to a bit-wise-and if the two sides were represented as two bits, one for the left and one for the right side. The main application of this operation is when the TO has authorized the telescope for a subset of the sides configured for the instrument. The policy is that the instrument then reduces its requests to the commonly agreed subset of sides. More... | |
IifSide | merge (const IifSide &oth) const |
Maximum union set of left, right or both. The function takes a set-union of this side and the other side. This is similarly to a bit-wise-or if the two sides were represented as two bits, one for the left and one for the right side. More... | |
IifSide (const enum IifSid anysdx=SIDE_NONE) | |
IifSide (const std::string &fstation) | |
IifSide (const IifSide &oth) | |
IifSide & | operator= (const IifSide &oth) |
std::string | toString () const |
std::string | toStringCfg () const |
int | toIntIdx () const |
IifSide | intersect (const IifSide &oth) const |
IifSide | merge (const IifSide &oth) const |
Public Attributes | |
enum IifSid | s |
This class represents the SX or DX or both sides of the LBT.
Default ctor. Initialize the state as "no side" (of both)
anysdx | An enumerated constant indicating left, right, none or both. |
Ltcs::IifSide::IifSide | ( | const std::string & | fstation | ) |
construct from astring like "blabla right" or "bla both" or "sx" or "dx".
fstation | A string of the format found in the FOCAL_STATION property in lbcs.iif-dev.cfg |
copy constructor
oth | The side to be duplicated |
Ltcs::IifSide::IifSide | ( | const std::string & | fstation | ) |
Ltcs::IifSide Ltcs::IifSide::intersect | ( | const IifSide & | oth | ) | const |
Mutually compatible minimum set of sides. The function takes a set-intersection of this side and the other side. This is similarly to a bit-wise-and if the two sides were represented as two bits, one for the left and one for the right side. The main application of this operation is when the TO has authorized the telescope for a subset of the sides configured for the instrument. The policy is that the instrument then reduces its requests to the commonly agreed subset of sides.
Ltcs::IifSide Ltcs::IifSide::merge | ( | const IifSide & | oth | ) | const |
Maximum union set of left, right or both. The function takes a set-union of this side and the other side. This is similarly to a bit-wise-or if the two sides were represented as two bits, one for the left and one for the right side.
Ltcs::IifSide & Ltcs::IifSide::operator= | ( | const IifSide & | oth | ) |
Assignment operator. Deep copy of this state.
int Ltcs::IifSide::toIntIdx | ( | ) | const |
int Ltcs::IifSide::toIntIdx | ( | ) | const |
Generate a index 0 or 1 suitable for the two indices of two proxies.
std::string Ltcs::IifSide::toString | ( | ) | const |
Generate a string as used in the ICS initializations.
std::string Ltcs::IifSide::toString | ( | ) | const |
std::string Ltcs::IifSide::toStringCfg | ( | ) | const |
Generate a string as used in the file names of LN configurations.
std::string Ltcs::IifSide::toStringCfg | ( | ) | const |
enum IifSid Ltcs::IifSide::s |