TwiceAsNice  2019-02-18
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Alta Class Reference

Derived class for the alta apogee cameras. More...

#include <Alta.h>

Inheritance diagram for Alta:
Inheritance graph
Collaboration diagram for Alta:
Collaboration graph

Public Member Functions

 Alta ()
 
virtual ~Alta ()
 
void OpenConnection (const std::string &ioType, const std::string &DeviceAddr, const uint16_t FirmwareRev, const uint16_t Id)
 
void CloseConnection ()
 
void Init ()
 
void StartExposure (double Duration, bool IsLight)
 
CameraStatusRegs GetStatus ()
 
Apg::Status GetImagingStatus ()
 
void GetImage (std::vector< uint16_t > &out)
 
void StopExposure (bool Digitize)
 
uint32_t GetAvailableMemory ()
 
void SetCcdAdc12BitGain (uint16_t gain)
 
void SetCcdAdc12BitOffset (uint16_t offset)
 
uint16_t GetCcdAdc12BitGain ()
 
uint16_t GetCcdAdc12BitOffset ()
 
double GetCcdAdc16BitGain ()
 
int32_t GetNumAds ()
 
int32_t GetNumAdChannels ()
 
double GetCoolerDrive ()
 
void SetFanMode (Apg::FanMode mode, bool PreCondCheck=true)
 
Apg::FanMode GetFanMode ()
 
double GetTempHeatsink ()
 
std::string GetMacAddress ()
 
void OpenSerial (uint16_t PortId)
 
void CloseSerial (uint16_t PortId)
 
void SetSerialBaudRate (uint16_t PortId, uint32_t BaudRate)
 
uint32_t GetSerialBaudRate (uint16_t PortId)
 
Apg::SerialFC GetSerialFlowControl (uint16_t PortId)
 
void SetSerialFlowControl (uint16_t PortId, Apg::SerialFC FlowControl)
 
Apg::SerialParity GetSerialParity (uint16_t PortId)
 
void SetSerialParity (uint16_t PortId, Apg::SerialParity Parity)
 
std::string ReadSerial (uint16_t PortId)
 
void WriteSerial (uint16_t PortId, const std::string &buffer)
 
- Public Member Functions inherited from ApogeeCam
virtual ~ApogeeCam ()
 
void Reset ()
 
uint16_t ReadReg (uint16_t reg)
 
void WriteReg (uint16_t reg, uint16_t value)
 
void SetRoiNumRows (uint16_t rows)
 
void SetRoiNumCols (uint16_t cols)
 
uint16_t GetRoiNumRows ()
 
uint16_t GetRoiNumCols ()
 
void SetRoiStartRow (uint16_t row)
 
void SetRoiStartCol (uint16_t col)
 
uint16_t GetRoiStartRow ()
 
uint16_t GetRoiStartCol ()
 
void SetRoiBinRow (uint16_t bin)
 
uint16_t GetRoiBinRow ()
 
void SetRoiBinCol (uint16_t bin)
 
uint16_t GetRoiBinCol ()
 
uint16_t GetFirmwareRev ()
 
void SetImageCount (uint16_t count)
 
uint16_t GetImageCount ()
 
uint16_t GetImgSequenceCount ()
 
void SetSequenceDelay (double delay)
 
double GetSequenceDelay ()
 
void SetVariableSequenceDelay (bool variable)
 
bool GetVariableSequenceDelay ()
 
void SetTdiRate (double TdiRate)
 
double GetTdiRate ()
 
void SetTdiRows (uint16_t TdiRows)
 
uint16_t GetTdiRows ()
 
uint16_t GetTdiCounter ()
 
void SetTdiBinningRows (uint16_t bin)
 
uint16_t GetTdiBinningRows ()
 
void SetKineticsSectionHeight (uint16_t height)
 
uint16_t GetKineticsSectionHeight ()
 
void SetKineticsSections (uint16_t sections)
 
uint16_t GetKineticsSections ()
 
void SetKineticsShiftInterval (double interval)
 
double GetKineticsShiftInterval ()
 
void SetShutterStrobePosition (double position)
 
double GetShutterStrobePosition ()
 
void SetShutterStrobePeriod (double period)
 
double GetShutterStrobePeriod ()
 
void SetShutterCloseDelay (double delay)
 
double GetShutterCloseDelay ()
 
void SetCoolerBackoffPoint (double point)
 
double GetCoolerBackoffPoint ()
 
void SetCoolerSetPoint (double point)
 
double GetCoolerSetPoint ()
 
Apg::CameraMode GetCameraMode ()
 
void SetCameraMode (Apg::CameraMode mode)
 
void SetFastSequence (bool TurnOn)
 
bool IsFastSequenceOn ()
 
void SetBulkDownload (bool TurnOn)
 
bool IsBulkDownloadOn ()
 
void SetPipelineDownload (bool TurnOn)
 
bool IsPipelineDownloadOn ()
 
void SetIoPortAssignment (uint16_t assignment)
 
uint16_t GetIoPortAssignment ()
 
void SetIoPortBlankingBits (uint16_t blankingBits)
 
uint16_t GetIoPortBlankingBits ()
 
void SetIoPortDirection (uint16_t direction)
 
uint16_t GetIoPortDirection ()
 
void SetIoPortData (uint16_t data)
 
uint16_t GetIoPortData ()
 
void SetPreFlash (bool TurnOn)
 
bool GetPreFlash ()
 
void SetExternalTrigger (bool TurnOn, Apg::TriggerMode trigMode, Apg::TriggerType trigType)
 
bool IsTriggerNormEachOn ()
 
bool IsTriggerNormGroupOn ()
 
bool IsTriggerTdiKinEachOn ()
 
bool IsTriggerTdiKinGroupOn ()
 
bool IsTriggerExternalShutterOn ()
 
bool IsTriggerExternalReadoutOn ()
 
void SetShutterState (Apg::ShutterState state)
 
Apg::ShutterState GetShutterState ()
 
bool IsShutterForcedOpen ()
 
bool IsShutterForcedClosed ()
 
bool IsShutterOpen ()
 
void SetShutterAmpCtrl (bool TurnOn)
 
bool IsShutterAmpCtrlOn ()
 
void SetCooler (bool TurnOn)
 
Apg::CoolerStatus GetCoolerStatus ()
 
bool IsCoolerOn ()
 
double GetTempCcd ()
 
void SetCcdAdcResolution (Apg::Resolution res)
 
Apg::Resolution GetCcdAdcResolution ()
 
void SetCcdAdcSpeed (Apg::AdcSpeed speed)
 
Apg::AdcSpeed GetCcdAdcSpeed ()
 
uint16_t GetMaxBinCols ()
 
uint16_t GetMaxBinRows ()
 
uint16_t GetMaxImgCols ()
 
uint16_t GetMaxImgRows ()
 
uint16_t GetTotalRows ()
 
uint16_t GetTotalCols ()
 
uint16_t GetNumOverscanCols ()
 
bool IsInterline ()
 
CamModel::PlatformType GetPlatformType ()
 
void SetLedAState (Apg::LedState state)
 
Apg::LedState GetLedAState ()
 
void SetLedBState (Apg::LedState state)
 
Apg::LedState GetLedBState ()
 
void SetLedMode (Apg::LedMode mode)
 
Apg::LedMode GetLedMode ()
 
std::string GetInfo ()
 
std::string GetModel ()
 
std::string GetSensor ()
 
void SetFlushCommands (bool Disable)
 
bool AreFlushCmdsDisabled ()
 
void SetPostExposeFlushing (bool Disable)
 
bool IsPostExposeFlushingDisabled ()
 
double GetPixelWidth ()
 
double GetPixelHeight ()
 
double GetMinExposureTime ()
 
double GetMaxExposureTime ()
 
bool IsColor ()
 
bool IsCoolingSupported ()
 
bool IsCoolingRegulated ()
 
double GetInputVoltage ()
 
CamModel::InterfaceType GetInterfaceType ()
 
void GetUsbVendorInfo (uint16_t &VendorId, uint16_t &ProductId, uint16_t &DeviceId)
 
bool IsCCD ()
 
void PauseTimer (bool TurnOn)
 
bool IsSerialASupported ()
 
bool IsSerialBSupported ()
 
void SetFlushBinningRows (uint16_t bin)
 
uint16_t GetFlushBinningRows ()
 
bool IsOverscanDigitized ()
 
void SetDigitizeOverscan (const bool TurnOn)
 
void SetAdcGain (uint16_t gain, int32_t ad, int32_t channel)
 
uint16_t GetAdcGain (int32_t ad, int32_t channel)
 
void SetAdcOffset (uint16_t offset, int32_t ad, int32_t channel)
 
uint16_t GetAdcOffset (int32_t ad, int32_t channel)
 
bool IsInitialized ()
 
bool IsConnected ()
 
void SetAdSimMode (bool TurnOn)
 
bool IsAdSimModeOn ()
 
void SetLedBrightness (double PercentIntensity)
 
double GetLedBrightness ()
 
std::string GetDriverVersion ()
 
std::string GetUsbFirmwareVersion ()
 
std::string GetSerialNumber ()
 
CamInfo::StrDb ReadStrDatabase ()
 
void WriteStrDatabase (CamInfo::StrDb &info)
 
void UpdateAlta (const std::string FilenameCamCon, const std::string FilenameBufCon, const std::string FilenameFx2, const std::string FilenameGpifCamCon, const std::string FilenameGpifBufCon, const std::string FilenameGpifFifo)
 
void UpdateAscentOrAltaF (const std::string FilenameFpga, const std::string FilenameFx2, const std::string FilenameDescriptor)
 
void UpdateAspen (const std::string FilenameFpga, const std::string FilenameFx2, const std::string FilenameDescriptor, const std::string FilenameWebPage, const std::string FilenameWebServer, const std::string FilenameWebCfg)
 

Protected Member Functions

 Alta (const std::string &ioType, const std::string &DeviceAddr)
 
void ExposureAndGetImgRC (uint16_t &r, uint16_t &c)
 
uint16_t ExposureZ ()
 
uint16_t GetImageZ ()
 
uint16_t GetIlluminationMask ()
 
void CreateCamIo (const std::string &ioType, const std::string &DeviceAddr)
 
void FixImgFromCamera (const std::vector< uint16_t > &data, std::vector< uint16_t > &out, int32_t rows, int32_t cols)
 
- Protected Member Functions inherited from ApogeeCam
 ApogeeCam (CamModel::PlatformType platform)
 
void VerifyFrmwrRev ()
 
void LogConnectAndDisconnect (bool Connect)
 
void ExectuePreFlash ()
 
void SetExpsoureTime (double Duration)
 
void IssueExposeCmd (bool IsLight)
 
void IsThereAStatusError (uint16_t statusReg)
 
bool IsImgDone (const CameraStatusRegs &statusObj)
 
Apg::Status LogAndReturnStatus (Apg::Status status, const CameraStatusRegs &statusObj)
 
void SupsendCooler (bool &resume)
 
void ResumeCooler ()
 
void WaitForCoolerSuspendBit (const uint16_t mask, const bool IsHigh)
 
void InitShutterCloseDelay ()
 
void StopExposureModeNorm (bool Digitize)
 
void Reset (bool Flush)
 
void HardStopExposure (const std::string &msg)
 
void GrabImageAndThrowItAway ()
 
void AdcParamCheck (const int32_t ad, const int32_t channel, const std::string &fxName)
 
void SetNumAdOutputs (const uint16_t num)
 
bool CheckAndWaitForStatus (Apg::Status desired, Apg::Status &acutal)
 
void CancelExposureNoThrow ()
 
double DefaultGetTempHeatsink ()
 
void DefaultInit ()
 
void ClearAllRegisters ()
 
void DefaultCfgCamFromId (uint16_t CameraId)
 
void DefaultSetFanMode (Apg::FanMode mode, bool PreCondCheck)
 
Apg::FanMode DefaultGetFanMode ()
 
void DefaultCloseConnection ()
 

Private Member Functions

void VerifyCamId ()
 
void CfgCamFromId (uint16_t CameraId)
 
uint16_t GetPixelShift ()
 
void Init12BitCcdAdc ()
 
void StopExposureImageReady (bool Digitize)
 
void StopExposureModeTdiKinetics (bool Digitize)
 
bool IsSerialPortOpen (uint16_t PortId)
 
 Alta (const Alta &)
 
Altaoperator= (Alta &)
 

Private Attributes

const std::string m_fileName
 
std::map< uint16_t, boolm_serialPortOpenStatus
 

Additional Inherited Members

- Protected Attributes inherited from ApogeeCam
std::shared_ptr< CameraIom_CamIo
 
std::shared_ptr< PlatformDatam_CameraConsts
 
std::shared_ptr< CApnCamDatam_CamCfgData
 
std::shared_ptr< ModeFsmm_CamMode
 
std::shared_ptr< CcdAcqParamsm_CcdAcqSettings
 
std::shared_ptr< ApgTimerm_ExposureTimer
 
CamModel::PlatformType m_PlatformType
 
const std::string m_fileName
 
uint16_t m_FirmwareVersion
 
uint16_t m_Id
 
uint16_t m_NumImgsDownloaded
 
bool m_ImageInProgress
 
bool m_IsPreFlashOn
 
bool m_IsInitialized
 
bool m_IsConnected
 
double m_LastExposureTime
 

Detailed Description

Derived class for the alta apogee cameras.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Copyright(c) 2009 Apogee Instruments, Inc.

Constructor & Destructor Documentation

◆ Alta() [1/3]

Alta::Alta ( )

◆ ~Alta()

Alta::~Alta ( )
virtual

◆ Alta() [2/3]

Alta::Alta ( const std::string &  ioType,
const std::string &  DeviceAddr 
)
protected

◆ Alta() [3/3]

Alta::Alta ( const Alta )
private

Member Function Documentation

◆ CfgCamFromId()

void Alta::CfgCamFromId ( uint16_t  CameraId)
privatevirtual

Implements ApogeeCam.

◆ CloseConnection()

void Alta::CloseConnection ( )
virtual

Closes the IO connection to the camera. IMPORTANT: If this call is made if camera is in an error condition, then the function will try to reset the interface. Thus it is not guaranteed that the address for the camera will be the same after this function is called.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ CloseSerial()

void Alta::CloseSerial ( uint16_t  PortId)

Closes the connection to serial port on the AltaU/E camera

Parameters
[in]PortIdport A = 0, port B = 1
Exceptions
std::runtime_error

◆ CreateCamIo()

void Alta::CreateCamIo ( const std::string &  ioType,
const std::string &  DeviceAddr 
)
protected

◆ ExposureAndGetImgRC()

void Alta::ExposureAndGetImgRC ( uint16_t r,
uint16_t c 
)
protectedvirtual

Implements ApogeeCam.

◆ ExposureZ()

uint16_t Alta::ExposureZ ( )
protectedvirtual

Implements ApogeeCam.

◆ FixImgFromCamera()

void Alta::FixImgFromCamera ( const std::vector< uint16_t > &  data,
std::vector< uint16_t > &  out,
int32_t  rows,
int32_t  cols 
)
protectedvirtual

Implements ApogeeCam.

◆ GetAvailableMemory()

uint32_t Alta::GetAvailableMemory ( )
virtual

Returns the amount of available memory for storing images in terms of kilobytes (KB).

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetCcdAdc12BitGain()

uint16_t Alta::GetCcdAdc12BitGain ( )

Returns the analog to digital converter gain value for the 12 bit ADC. Calling ApogeeCam::GetAdcGain( 1, 0 ) is equivalent to this function and is recommended for use.

Exceptions
std::runtime_error

◆ GetCcdAdc12BitOffset()

uint16_t Alta::GetCcdAdc12BitOffset ( )

Returns the analog to digital converter offset value for the 12 bit ADC. Calling ApogeeCam::GetAdcOffset( 1, 0 ) is equivalent to this function and is recommended for use.

Exceptions
std::runtime_error

◆ GetCcdAdc16BitGain()

double Alta::GetCcdAdc16BitGain ( )

Returns the analog to digital converter gain value for the 16 bit ADC. Calling ApogeeCam::GetAdcOffset( 0, 0 ) is equivalent to this function and is recommended for use.

Exceptions
std::runtime_error

◆ GetCoolerDrive()

double Alta::GetCoolerDrive ( )
virtual

Drive level applied to the temp controller. Expressed as a percentage from 0% to 100%.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetFanMode()

Apg::FanMode Alta::GetFanMode ( )
virtual
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetIlluminationMask()

uint16_t Alta::GetIlluminationMask ( )
protectedvirtual

Implements ApogeeCam.

◆ GetImage()

void Alta::GetImage ( std::vector< uint16_t > &  out)
virtual

Downloads the image data from the camera.

Parameters
[out]outVector that will recieve the image data
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetImageZ()

uint16_t Alta::GetImageZ ( )
protectedvirtual

Implements ApogeeCam.

◆ GetImagingStatus()

Apg::Status Alta::GetImagingStatus ( )
virtual

Returns the current imaging state of the camera.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetMacAddress()

std::string Alta::GetMacAddress ( )

Returns an ethernet's camera MAC address. Will throw an std::runtime_error exception if the call is made on a USB camera.

Exceptions
std::runtime_error

◆ GetNumAdChannels()

int32_t Alta::GetNumAdChannels ( )
virtual

Returns the number of channels on the camera's AD converters.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetNumAds()

int32_t Alta::GetNumAds ( )
virtual

Returns the number of analog to digital (AD) converters on the camera.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetPixelShift()

uint16_t Alta::GetPixelShift ( )
private

◆ GetSerialBaudRate()

uint32_t Alta::GetSerialBaudRate ( uint16_t  PortId)

Returns the serial port's baud rate

Parameters
[in]PortIdport A = 0, port B = 1
Returns
baud rate
Exceptions
std::runtime_error

◆ GetSerialFlowControl()

Apg::SerialFC Alta::GetSerialFlowControl ( uint16_t  PortId)

Returns serial port's flow control type

Parameters
[in]PortIdport A = 0, port B = 1
Returns
current flow control type
Exceptions
std::runtime_error

◆ GetSerialParity()

Apg::SerialParity Alta::GetSerialParity ( uint16_t  PortId)

Get serial port's parity

Parameters
[in]PortIdport A = 0, port B = 1
Returns
Input port's current parity type to set
Exceptions
std::runtime_error

◆ GetStatus()

CameraStatusRegs Alta::GetStatus ( )
virtual

Returns the camera's status registers as a CameraStatusRegs class.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ GetTempHeatsink()

double Alta::GetTempHeatsink ( )
virtual

Returns the current Heatsink temperature in degrees Celsius. The Ascent camera platform does not support reading the heatsink temperature, and this property will return -255.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ Init()

void Alta::Init ( )
virtual

Method for initializing the Apogee camera system. Must be called once before image acquisition.

Exceptions
std::runtime_error

Implements ApogeeCam.

◆ Init12BitCcdAdc()

void Alta::Init12BitCcdAdc ( )
private

◆ IsSerialPortOpen()

bool Alta::IsSerialPortOpen ( uint16_t  PortId)
private

◆ OpenConnection()

void Alta::OpenConnection ( const std::string &  ioType,
const std::string &  DeviceAddr,
const uint16_t  FirmwareRev,
const uint16_t  Id 
)
virtual

Opens a connection from the PC to the camera. The results strings from the FindDeviceUsb::Find() and the FindDeviceEthernet::Find() functions. provide the input into this function.

Parameters
[in]ioTypespecifies camera IO interface 'usb' or 'ethernet'
[in]DeviceAddrspecifies the address of the camera on the interface
[in]FirmwareRevCamera's firmware revision. Used to verify interface connection.
[in]IdCamera's ID. Used to verify interface connection and setup camera specfic parameters.
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ OpenSerial()

void Alta::OpenSerial ( uint16_t  PortId)

Open the connection to serial port on the AltaU/E camera with a default baud rate of 9600.

Parameters
[in]PortIdport A = 0, port B = 1
Exceptions
std::runtime_error

◆ operator=()

Alta& Alta::operator= ( Alta )
private

◆ ReadSerial()

std::string Alta::ReadSerial ( uint16_t  PortId)

Read data from the camera's serial port

Parameters
[in]PortIdport A = 0, port B = 1
Exceptions
std::runtime_error

◆ SetCcdAdc12BitGain()

void Alta::SetCcdAdc12BitGain ( uint16_t  gain)

Sets the analog to digital converter gain value for the 12 bit ADC.

Parameters
[in]gainThe new gain value. 0-1023 is a valid range. Calling ApogeeCam::SetAdcGain( gain, 1, 0 ) is equivalent to this function and is recommended for use.
Exceptions
std::runtime_error

◆ SetCcdAdc12BitOffset()

void Alta::SetCcdAdc12BitOffset ( uint16_t  offset)

Sets the analog to digital converter offset vaule for the 12 bit ADC.

Parameters
[in]gainThe new offset value. 0-255 is a valid range. Calling ApogeeCam::SetAdcOffset( offset, 1, 0 ) is equivalent to this function and is recommended for use.
Exceptions
std::runtime_error

◆ SetFanMode()

void Alta::SetFanMode ( Apg::FanMode  mode,
bool  PreCondCheck = true 
)
virtual
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ SetSerialBaudRate()

void Alta::SetSerialBaudRate ( uint16_t  PortId,
uint32_t  BaudRate 
)

Sets the serial port's baud rate

Parameters
[in]PortIdport A = 0, port B = 1
[in]BaudRateValid values are 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
Exceptions
std::runtime_error

◆ SetSerialFlowControl()

void Alta::SetSerialFlowControl ( uint16_t  PortId,
Apg::SerialFC  FlowControl 
)

Sets serial port's flow control type

Parameters
[in]PortIdport A = 0, port B = 1
[in]FlowControlflow control type to set
Exceptions
std::runtime_error

◆ SetSerialParity()

void Alta::SetSerialParity ( uint16_t  PortId,
Apg::SerialParity  Parity 
)

Sets serial port's parity

Parameters
[in]PortIdport A = 0, port B = 1
[in]Parityparity type to set
Exceptions
std::runtime_error

◆ StartExposure()

void Alta::StartExposure ( double  Duration,
bool  IsLight 
)
virtual

This method begins the imaging process. The type of exposure taken is depends on various state variables including the CameraMode and TriggerMode.

Parameters
[in]DurationLength of the exposure(s), in seconds. The valid range for this parameter is GetMinExposureTime() to GetMaxExposureTime().
[in]Determineswhether the exposure is a light or dark/bias frame. A light frame requires this parameter to be set to true, while a dark frame requires this parameter to be false.
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ StopExposure()

void Alta::StopExposure ( bool  Digitize)
virtual

This method halts an in progress exposure. If this method is called and there is no exposure in progress a std::runtime_error exception is thrown.

Parameters
[in]DigitizeIf set to true, then the application must call GetImage() to retrieve the image data and to put the camera in a good state for the next exposure. If set to false, then an application should not call GetImage().
Exceptions
std::runtime_error

Implements ApogeeCam.

◆ StopExposureImageReady()

void Alta::StopExposureImageReady ( bool  Digitize)
private

◆ StopExposureModeTdiKinetics()

void Alta::StopExposureModeTdiKinetics ( bool  Digitize)
private

◆ VerifyCamId()

void Alta::VerifyCamId ( )
private

◆ WriteSerial()

void Alta::WriteSerial ( uint16_t  PortId,
const std::string &  buffer 
)

Data to sent out of the camera's serial port

Parameters
[in]PortIdport A = 0, port B = 1 [in] buffer data to send out of the serial port
Exceptions
std::runtime_error

Member Data Documentation

◆ m_fileName

const std::string Alta::m_fileName
private

◆ m_serialPortOpenStatus

std::map<uint16_t , bool> Alta::m_serialPortOpenStatus
private

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