All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Types | Public Member Functions
ArrayCore::SPACParameters Class Reference

Brief description of class still missing. More...

#include <SPACParameters.h>

Inheritance diagram for ArrayCore::SPACParameters:
ArrayCore::ArrayParameters QGpCoreTools::AbstractParameters

List of all members.

Public Types

enum  OutputType { NoOutput = 0x0, Target = 0x1, Stmap = 0x2, Max = 0x4 }

Public Member Functions

void addRing (const QVector< StationCouple > &couples, double minRadius, double maxRadius)
virtual void collectKeywords (PARAMETERS_COLLECTKEYWORDS_ARGS)
virtual int keywordCount (PARAMETERS_KEYWORDCOUNT_ARGS)
OutputTypes outputTypes () const
QString outputTypesString () const
bool overWrite (int nComponents)
const RingCouplesring (int index) const
int ringCount () const
void setOutputTypes (OutputTypes t)
void setOutputTypes (const QString &t)
virtual bool setValue (PARAMETERS_SETVALUE_ARGS)
 SPACParameters ()
 SPACParameters (const SPACParameters &o)
virtual QString toString (PARAMETERS_TOSTRING_ARGS_DECL) const

Detailed Description

Brief description of class still missing.

Full description of class still missing


Member Enumeration Documentation

Enumerator:
NoOutput 
Target 
Stmap 
Max 
{NoOutput=0x0, Target=0x1, Stmap=0x2, Max=0x4};

Constructor & Destructor Documentation

References Target.

  : ArrayParameters()
{
  _outputTypes=Target;
}
  : ArrayParameters(o)
{
  _rings=o._rings;
  _outputTypes=o._outputTypes;

}

Member Function Documentation

void ArrayCore::SPACParameters::addRing ( const QVector< StationCouple > &  couples,
double  minRadius,
double  maxRadius 
)

References ArrayCore::RingCouples::setCouples().

{
  RingCouples r (minRadius, maxRadius);
  if(r.setCouples (couples) ) {
    _rings.append (r);
  }
}

Reimplemented from ArrayCore::ArrayParameters.

References keywordCount(), and TRACE.

{
  TRACE;
  int baseIndex=ArrayParameters::keywordCount();
  ArrayParameters::collectKeywords(keywords, prefix);
  keywords.add(prefix+"OUTPUT TYPES", this, baseIndex);
  keywords.add(prefix+"OUTPUT TARGET FILE", this, baseIndex+1); // For compatibility
  keywords.add(prefix+"OUTPUT STMAP FILE", this, baseIndex+2);
  keywords.add(prefix+"OUTPUT MAX FILE", this, baseIndex+3);
  // Rings are saved apart, .ring files.
}

Reimplemented from ArrayCore::ArrayParameters.

Referenced by collectKeywords().

OutputTypes ArrayCore::SPACParameters::outputTypes ( ) const [inline]

Referenced by SPACLoop::setParameters().

{return _outputTypes;}

References Max, Stmap, Target, and TRACE.

Referenced by toString().

{
  TRACE;
  QString types;
  if(_outputTypes & Target) {
    types="Target";
  }
  if(_outputTypes & Stmap) {
    if(!types.isEmpty()) {
      types+=", ";
    }
    types+="Stmap";
  }
  if(_outputTypes & Max) {
    if(!types.isEmpty()) {
      types+=", ";
    }
    types+="Max";
  }
  return types;
}
bool ArrayCore::SPACParameters::overWrite ( int  nComponents)

Returns true if all files can be overwritten or if they do not exist already. A message dialog box is displayed.

References Max, MSG_ID, ArrayCore::ArrayParameters::outputFile(), Stmap, Target, and QGpCoreTools::tr().

Referenced by SPACLoop::setParameters().

{
  // Three methods for output of results
  QStringList existingFiles;
  QFileInfo fi;
  if(_outputTypes & Target) {
    fi.setFile(outputFile()+".target");
    if(fi.exists()) existingFiles << fi.fileName();
  }
  if(_outputTypes & Stmap) {
    switch(nComponents) {
    case 3:
      fi.setFile(outputFile()+"_radial.stmap");
      if(fi.exists()) existingFiles << fi.fileName();
      fi.setFile(outputFile()+"_transverse.stmap");
      if(fi.exists()) existingFiles << fi.fileName();
    case 1:
      fi.setFile(outputFile()+"_vertical.stmap");
      if(fi.exists()) existingFiles << fi.fileName();
      break;
    default:
      ASSERT(false);
    }
  }
  if(_outputTypes & Max) {
    fi.setFile(outputFile()+".max");
    if(fi.exists()) existingFiles << fi.fileName();
  }
  if(!existingFiles.isEmpty()) {
    if(Message::question(MSG_ID, tr( "Autocorrelation output file(s)" ),
                              tr( "File(s)\n\n%1\n\nalready exist(s). Do you want to overwrite?" ).arg(existingFiles.join("\n")),
                              Message::no(), Message::yes())==Message::Answer0) {
      return false;
    }
  }
  return true;
}
const RingCouples& ArrayCore::SPACParameters::ring ( int  index) const [inline]
int ArrayCore::SPACParameters::ringCount ( ) const [inline]

Referenced by SPACLoop::setParameters(), and SPACLoopTask::setParameters().

{return _rings.count();}
void ArrayCore::SPACParameters::setOutputTypes ( OutputTypes  t) [inline]

Referenced by ToolSPACd::getParameters(), and setValue().

{_outputTypes=t;}
void ArrayCore::SPACParameters::setOutputTypes ( const QString &  t)

References Max, NoOutput, Stmap, Target, and TRACE.

{
  TRACE;
  _outputTypes=NoOutput;
  QString tl=t.toLower();
  if(tl.contains("target")) {
    _outputTypes|=Target;
  }
  if(tl.contains("stmap")) {
    _outputTypes|=Stmap;
  }
  if(tl.contains("max")) {
    _outputTypes|=Max;
  }

}

Reimplemented from ArrayCore::ArrayParameters.

References ArrayCore::ArrayParameters::keywordCount(), Max, setOutputTypes(), Stmap, Target, and TRACE.

{
  TRACE;
  switch(index-ArrayParameters::keywordCount()) {
  case 0:
    setOutputTypes(value);
    return true;
  case 1:                      // For compatibility
    if(value=="y") {
      _outputTypes|=Target;
    } else {
      _outputTypes&=~Target;
    }
    return true;
  case 2:                      // For compatibility
    if(value=="y") {
      _outputTypes|=Stmap;
    } else {
      _outputTypes&=~Stmap;
    }
    return true;
  case 3:                      // For compatibility
    if(value=="y") {
      _outputTypes|=Max;
    } else {
      _outputTypes&=~Max;
    }
    return true;
  default:
    return ArrayParameters::setValue(index, value);
  }
}

Reimplemented from ArrayCore::ArrayParameters.

References QGpCoreTools::log(), outputTypesString(), and TRACE.

{
  TRACE;
  QString log;
  log+=ArrayParameters::toString(prefix);
  log+=prefix+"OUTPUT TYPES="+outputTypesString()+"\n";
  return log;
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines