SignalsOpticalSignal::TypeNONEWRITEERASEREADOUTOpticalSignalid : inttype : Typeparameter : union{double, void*}wavelength : doublegetNewId() : intattenuate(double) : void