Public Member Functions | Public Attributes | Private Attributes

ReceiverSemiAnalytical Class Reference

#include <ocsReceiverSemiAnalytical.hh>

List of all members.

Public Member Functions

 ReceiverSemiAnalytical ()
 ReceiverSemiAnalytical (typeReceiver TypeReceiver2, OptSignal *WDMSignal, RanNumGen *RNG2, int DemuxChannArrayIndex2, string InDir, string Job2)
void ReceiverSemiAnalyticalInit (OptSignal *WDMSignal, RanNumGen *RNG2, string InDir, string Job2, int DemuxChannArrayIndex2, fftPowerMatrices &sfftPM2, fftPowerMatrices &WorksfftPM2, OptSignal *GlobalSCSignal, OptDemuxer *Demuxer2)
 Use this Init method if you have many receivers and want to save memory.
void SetReceiverMapNumber (int Value)
void SetJobName (string Name)
void SetDemuxChannArrayIndex (int Value)
string WriteTypeReceiver (void)
 ~ReceiverSemiAnalytical ()
void ReceiveSignalBackToBack (void)
void ReceiveSignalBackToBackMonteCarlo (void)
void ReceiveSignal (int MapNum)
 Calls ReceiveSignal(MapNum,0).
void ReceiveSignal (int MapNum, int MonteCarloSystemRealizationNum)
 Calls either ReceiveSignalMonteCarlo or ReceiveSignalSemiAnalytical.
void ReceiveSignalMonteCarlo (int MapNum, int MonteCarloSystemRealizationNum)
void ReceiveSignalSemiAnalytical (string FileID)
void PostProcessReceiverStats (int MapNum, int MonteCarloSystemRealizationNum, double PropagatedLength, int AppendFlag)
void WriteStats (int MapNum, int MonteCarloSystemRealizationNum, double PropagatedLength, int AppendFlag)
void WriteNoiseFreeOpticalSignalFreq (string OutFileName)
void GetLimaParameters (bool AppendOutFileFlag, double FreqFWHM_OptFilter, double FreqFWHM_ElecFilter, double OSA_Bandwidth)

Public Attributes

OptSignalWDMSignal
OptSignalSingleChannelSignal
OptFilterTunableOptFilter
OptDemuxeroOptDemuxer
PhotodetectoroPhotodetector
ElecFilteroElecFilter
ElecSignalStatoElecSignalStat
Histogram2DEyeDiagramMonteCarlo

Private Attributes

typeReceiver TypeReceiver
int DemuxChannArrayIndex
string Job
int RecMapNum
int ObjectInitialized
double * StdDev_Signal_ASE

Constructor & Destructor Documentation

ReceiverSemiAnalytical::ReceiverSemiAnalytical ( void   ) 

Use this constructor followed by calls to ReceiverSubsystemInit if you are defining an array of ReceiverSubsystems

References ObjectInitialized.

ReceiverSemiAnalytical::ReceiverSemiAnalytical ( typeReceiver  TypeReceiver2,
OptSignal WDMSignal,
RanNumGen RNG2,
int  DemuxChannArrayIndex2,
string  InDir,
string  Job2 
)
ReceiverSemiAnalytical::~ReceiverSemiAnalytical (  ) 

Member Function Documentation

void ReceiverSemiAnalytical::GetLimaParameters ( bool  AppendOutFileFlag,
double  FreqFWHM_OptFilter,
double  FreqFWHM_ElecFilter,
double  OSA_Bandwidth 
)
void ReceiverSemiAnalytical::PostProcessReceiverStats ( int  MapNum,
int  MonteCarloSystemRealizationNum,
double  PropagatedLength,
int  AppendFlag 
)
void ReceiverSemiAnalytical::ReceiverSemiAnalyticalInit ( OptSignal WDMSignal,
RanNumGen RNG2,
string  InDir,
string  Job2,
int  DemuxChannArrayIndex2,
fftPowerMatrices sfftPM2,
fftPowerMatrices WorksfftPM2,
OptSignal GlobalSCSignal,
OptDemuxer Demuxer2 
)

Use this Init method if you have many receivers and want to save memory.

void ReceiverSemiAnalytical::ReceiveSignal ( int  MapNum  ) 

Calls ReceiveSignal(MapNum,0).

void ReceiverSemiAnalytical::ReceiveSignal ( int  MapNum,
int  MonteCarloSystemRealizationNum 
)

Calls either ReceiveSignalMonteCarlo or ReceiveSignalSemiAnalytical.

References DemuxChannArrayIndex, MONTE_CARLO, ReceiveSignalMonteCarlo(), ReceiveSignalSemiAnalytical(), SEMI_ANALYTICAL, and TypeReceiver.

void ReceiverSemiAnalytical::ReceiveSignalBackToBack ( void   ) 

Calls either ReceiveSignalBackToBackMonteCarlo or ReceiveSignalSemiAnalytical

References MONTE_CARLO, ReceiveSignalBackToBackMonteCarlo(), ReceiveSignalSemiAnalytical(), SEMI_ANALYTICAL, and TypeReceiver.

void ReceiverSemiAnalytical::ReceiveSignalBackToBackMonteCarlo ( void   ) 
void ReceiverSemiAnalytical::ReceiveSignalMonteCarlo ( int  MapNum,
int  MonteCarloSystemRealizationNum 
)
void ReceiverSemiAnalytical::ReceiveSignalSemiAnalytical ( string  FileID  ) 
void ReceiverSemiAnalytical::SetDemuxChannArrayIndex ( int  Value  )  [inline]

References DemuxChannArrayIndex.

void ReceiverSemiAnalytical::SetJobName ( string  Name  )  [inline]

References Job.

void ReceiverSemiAnalytical::SetReceiverMapNumber ( int  Value  )  [inline]

References RecMapNum.

void ReceiverSemiAnalytical::WriteNoiseFreeOpticalSignalFreq ( string  OutFileName  ) 

Writes the noise free optical signal in frequency before optical filtering to a file. Useful as input to a SCALAR Chi-square receiver model. Not implemented for VECTOR simulations yet. JZ 12/11/03

References fftMatrices::fOptSignalX, OptSignal::GetDeltaFreq(), OptSignal::GetQtPoints(), OptSignal::GetTypeSimulation(), OptSignal::sfftM, sq(), and WDMSignal.

void ReceiverSemiAnalytical::WriteStats ( int  MapNum,
int  MonteCarloSystemRealizationNum,
double  PropagatedLength,
int  AppendFlag 
)
string ReceiverSemiAnalytical::WriteTypeReceiver ( void   ) 

Member Data Documentation

string ReceiverSemiAnalytical::Job [private]

Referenced by SetReceiverMapNumber().


The documentation for this class was generated from the following files: