ExperimentManager script class  1.1.0.1
The Experiment Manager script class reference.
Public Slots | Signals | Public Member Functions | Friends | List of all members
ExperimentEngine Class Reference

The ExperimentEngine class. More...

Inheritance diagram for ExperimentEngine:
QML2Viewer RetinotopyMapper

Public Slots

virtual QScreen * getActiveStimuliOutputScreen ()
 Returns a QScreen object representing the active Stimuli Output Screen. More...
 
QScriptValue getExperimentObjectParameter (const int &nObjectID, const QString &strName)
 retrieves the current value of an Experiment Parameter variable. More...
 
int getObjectID ()
 Returns this Object ID. More...
 
void incrementExternalTrigger ()
 Increments the External Trigger. More...
 
bool insertExpObjectBlockParameter (const int nObjectID, const QString sName, const QString sValue, bool bIsInitializing=true, bool bIsCustom=false, bool bForceImmediateParse=false)
 Update or insert an Experiment Block Parameter that can be parsed. More...
 
virtual bool setActiveStimuliOutputScreen (int nScreenNumber)
 Sets a Screen referred by it's Screen Number as the current active Stimuli Output Screen. More...
 
bool setExperimentObjectParameter (const int &nObjectID, const QString &strName, const QScriptValue &sScriptVal, const bool &bBufferTillChanged=false)
 Sets the current value of an existing Experiment Parameter variable. More...
 

Signals

void ExperimentStructureChanged (int nBlock, int nTrial, int nInternalTrigger)
 The ExperimentStructureChanged Signal. More...
 
void ExternalTriggerIncremented (int nTrigger)
 The ExternalTriggerIncremented Signal. More...
 
void NewInitBlockTrial (void)
 The NewInitBlockTrial Signal. More...
 
void ObjectShouldStop (void)
 The ObjectShouldStop Signal. More...
 
void ObjectStateHasChanged (ExperimentSubObjectState expSubObjectState)
 The ObjectStateHasChanged Signal. More...
 
void PrepareNewInitBlockTrial (void)
 The PrepareNewInitBlockTrial Signal. More...
 
void UserWantsToClose (void)
 The UserWantsToClose Signal. More...
 

Public Member Functions

 ExperimentEngine (QObject *parent=NULL)
 The ExperimentEngine constructor. More...
 
 ~ExperimentEngine ()
 The ExperimentEngine destructor. More...
 

Friends

class QML2Viewer
 

Detailed Description

The ExperimentEngine class.

The ExperimentEngine class can be derived from to create custom classes that can again be used in combination with the ExperimentManager for presenting visual or other kind of stimuli. This class is optimized for various painting operations supported by OpenGL.

Constructor & Destructor Documentation

ExperimentEngine::ExperimentEngine ( QObject *  parent = NULL)

The ExperimentEngine constructor.

You do not need to specify the parent object. The BrainStim script engine automatically retrieves the parent role

ExperimentEngine::~ExperimentEngine ( )

The ExperimentEngine destructor.

You do not need call the destructor. The BrainStim script engine automatically performs the garbage collection after you set the object to NULL and the script ends

Member Function Documentation

void ExperimentEngine::ExperimentStructureChanged ( int  nBlock,
int  nTrial,
int  nInternalTrigger 
)
signal

The ExperimentStructureChanged Signal.

You can use this Signal to keep track Experiment structure changes. Parameter nBlock represents the current Block number. Parameter nTrial represents the current Trial number. Parameter nInternalTrigger represents the current Internal Trigger number.

void ExperimentEngine::ExternalTriggerIncremented ( int  nTrigger)
signal

The ExternalTriggerIncremented Signal.

You can use this Signal to keep track of whenever the External Trigger gets incremented, see ExperimentEngine::incrementExternalTrigger Please bear in mind that this is already emitted before a new BlockTrial is initialized. Parameter nTrigger holds the number of received external triggers after the start of the experiment.

virtual QScreen* ExperimentEngine::getActiveStimuliOutputScreen ( )
virtualslot

Returns a QScreen object representing the active Stimuli Output Screen.

This function returns a pointer to an QScreen object representing the active configured Stimuli Output Screen.

Returns
a pointer to an QScreen object.
QScriptValue ExperimentEngine::getExperimentObjectParameter ( const int &  nObjectID,
const QString &  strName 
)
slot

retrieves the current value of an Experiment Parameter variable.

This function can be used to retrieve the current value of an Experiment Parameter variable for a specific object. This parameter variable value is currently in use.

int ExperimentEngine::getObjectID ( )
slot

Returns this Object ID.

This function returns its unique Object ID as registered in the ExperimentManager.

void ExperimentEngine::incrementExternalTrigger ( )
slot

Increments the External Trigger.

Invoke this slot to increment the External Trigger.

bool ExperimentEngine::insertExpObjectBlockParameter ( const int  nObjectID,
const QString  sName,
const QString  sValue,
bool  bIsInitializing = true,
bool  bIsCustom = false,
bool  bForceImmediateParse = false 
)
slot

Update or insert an Experiment Block Parameter that can be parsed.

This function can be used to insert or update an Experiment Block Parameter to be parsed for a specific object. This Parameter can be parsed at the next initialization of a new BlockTrial if not yet initialized. Setting the parameter bIsInitializing to true forces the new parameter to be re-parsed at the next initialization of a new BlockTrial. The parameter bIsCustom (default = false) defines whether this parameter should be treated as a custom parameter. The parameter bForceImmediateParse (default = false) defines whether this parameter should be immediately re-parsed instead of waiting for the next initialization of a new BlockTrial.

void ExperimentEngine::NewInitBlockTrial ( void  )
signal

The NewInitBlockTrial Signal.

You can use this Signal to keep track of whenever the Experiment Manager tries to Initialize a new BlockTrial for this object, this is executed after the parameters are fetched. No Parameter.

void ExperimentEngine::ObjectShouldStop ( void  )
signal

The ObjectShouldStop Signal.

You can use this Signal to detect whenever this object tries to abort/stop the experiment. No Parameter.

void ExperimentEngine::ObjectStateHasChanged ( ExperimentSubObjectState  expSubObjectState)
signal

The ObjectStateHasChanged Signal.

You can use this Signal to detect whenever the Experiment State for this object changes. Parameter expSubObjectState is type of the enum ExperimentManagerNameSpace::ExperimentSubObjectState.

void ExperimentEngine::PrepareNewInitBlockTrial ( void  )
signal

The PrepareNewInitBlockTrial Signal.

You can use this Signal to keep track of whenever the Experiment Manager tries to Initialize a new BlockTrial for this object, this is executed before the parameters are fetched. No Parameter.

virtual bool ExperimentEngine::setActiveStimuliOutputScreen ( int  nScreenNumber)
virtualslot

Sets a Screen referred by it's Screen Number as the current active Stimuli Output Screen.

This function sets a Screen referred by it's Screen Number as the current active Stimuli Output Screen.

Parameters
nScreenNumbera integer value representing the Screen Number that should be set as the current active Stimuli Output Screen.
Returns
a boolean value determining whether this function executed successfully.
bool ExperimentEngine::setExperimentObjectParameter ( const int &  nObjectID,
const QString &  strName,
const QScriptValue &  sScriptVal,
const bool &  bBufferTillChanged = false 
)
slot

Sets the current value of an existing Experiment Parameter variable.

This function can be used to immediately set a value of an Experiment Parameter variable for a specific object. This parameter variable value is immediately set and used. The argument bBufferTillChanged is a boolean value (default=false) that allows us to specify whether this value should stay buffered till the next change of this Experiment Parameter variable.

void ExperimentEngine::UserWantsToClose ( void  )
signal

The UserWantsToClose Signal.

You can use this Signal to detect whenever the user tries to abort the experiment. No Parameter.