/// <summary> /// get fl channel id from laser and detection channel /// </summary> public static FLChannelID FromLaserAndDetectionChannel(Laser laser, LaserConfig laserCfg, DetectionChannel dchannel) { for (FLChannelID id = FLChannelID.BL1; id < FLChannelID.Count; id++) { if (GetLaser(id, laserCfg) == laser && GetDetectionChannel(id) == dchannel) { return(id); } } return(FLChannelID.NonFL); }
public static DetectionChannel GetDetectionChannel(FLChannelID id) { switch (id) { case FLChannelID.BL7: case FLChannelID.VL8: case FLChannelID.RL4: case FLChannelID.YL6: return(DetectionChannel.nm725); case FLChannelID.BL6: case FLChannelID.RL3: case FLChannelID.YL5: case FLChannelID.VL7: return(DetectionChannel.nm695); case FLChannelID.BL5: case FLChannelID.RL2: case FLChannelID.VL6: case FLChannelID.YL4: return(DetectionChannel.nm780); case FLChannelID.BL4: case FLChannelID.RL1: case FLChannelID.VL5: case FLChannelID.YL3: return(DetectionChannel.nm675); case FLChannelID.BL3: case FLChannelID.VL4: case FLChannelID.YL2: return(DetectionChannel.nm615); case FLChannelID.BL2: case FLChannelID.VL3: case FLChannelID.YL1: return(DetectionChannel.nm585); case FLChannelID.BL1: case FLChannelID.VL2: return(DetectionChannel.nm530); case FLChannelID.VL1: return(DetectionChannel.nm450); case FLChannelID.SSC: return(DetectionChannel.APD2); case FLChannelID.FSC: default: return(DetectionChannel.APD1); } }
/// <summary> /// get laser of specified fl channel id /// </summary> /// <param name="id"></param> /// <param name="laserCfg">only needed when get for FSC and SSC</param> /// <returns></returns> public static Laser GetLaser(FLChannelID id, LaserConfig laserCfg = null) { switch (id) { case FLChannelID.BL1: case FLChannelID.BL2: case FLChannelID.BL3: case FLChannelID.BL4: case FLChannelID.BL5: case FLChannelID.BL6: case FLChannelID.BL7: return(Laser.nm488); case FLChannelID.RL1: case FLChannelID.RL2: case FLChannelID.RL3: case FLChannelID.RL4: return(Laser.nm640); case FLChannelID.VL1: case FLChannelID.VL2: case FLChannelID.VL3: case FLChannelID.VL4: case FLChannelID.VL5: case FLChannelID.VL6: case FLChannelID.VL7: case FLChannelID.VL8: return(Laser.nm405); case FLChannelID.YL1: case FLChannelID.YL2: case FLChannelID.YL3: case FLChannelID.YL4: case FLChannelID.YL5: case FLChannelID.YL6: return(Laser.nm561); case FLChannelID.FSC: case FLChannelID.SSC: default: return(laserCfg != null && laserCfg.Exist(1) ? laserCfg[1].ID : Laser.nm488); // FSC, SSC is laser 2 } }