/*
* \file EnumToAnalysis.cpp
* \brief: output class depending on enum
*
*   WARNING: DO NOT MODIFY THIS FILE
*            this file has been automatically generated by Synchronize.sh
*            Please read README for more information
*/

#include "./analyses.h"
#include "../shared/shared.h"

Analysis* EnumToAnalysis(int analysis_enum){

	switch(analysis_enum){
		#ifdef _HAVE_HYDROLOGYTWS_
		case HydrologyTwsAnalysisEnum : return new HydrologyTwsAnalysis();
		#endif
		#ifdef _HAVE_ADJOINTBALANCETHICKNESS2_
		case AdjointBalancethickness2AnalysisEnum : return new AdjointBalancethickness2Analysis();
		#endif
		#ifdef _HAVE_ADJOINTBALANCETHICKNESS_
		case AdjointBalancethicknessAnalysisEnum : return new AdjointBalancethicknessAnalysis();
		#endif
		#ifdef _HAVE_ADJOINTHORIZ_
		case AdjointHorizAnalysisEnum : return new AdjointHorizAnalysis();
		#endif
		#ifdef _HAVE_BALANCETHICKNESS2_
		case Balancethickness2AnalysisEnum : return new Balancethickness2Analysis();
		#endif
		#ifdef _HAVE_BALANCETHICKNESS_
		case BalancethicknessAnalysisEnum : return new BalancethicknessAnalysis();
		#endif
		#ifdef _HAVE_BALANCETHICKNESSSOFT_
		case BalancethicknessSoftAnalysisEnum : return new BalancethicknessSoftAnalysis();
		#endif
		#ifdef _HAVE_BALANCEVELOCITY_
		case BalancevelocityAnalysisEnum : return new BalancevelocityAnalysis();
		#endif
		#ifdef _HAVE_DAMAGEEVOLUTION_
		case DamageEvolutionAnalysisEnum : return new DamageEvolutionAnalysis();
		#endif
		#ifdef _HAVE_DEPTHAVERAGE_
		case DepthAverageAnalysisEnum : return new DepthAverageAnalysis();
		#endif
		#ifdef _HAVE_ENTHALPY_
		case EnthalpyAnalysisEnum : return new EnthalpyAnalysis();
		#endif
		#ifdef _HAVE_ESA_
		case EsaAnalysisEnum : return new EsaAnalysis();
		#endif
		#ifdef _HAVE_EXTRAPOLATION_
		case ExtrapolationAnalysisEnum : return new ExtrapolationAnalysis();
		#endif
		#ifdef _HAVE_EXTRUDEFROMBASE_
		case ExtrudeFromBaseAnalysisEnum : return new ExtrudeFromBaseAnalysis();
		#endif
		#ifdef _HAVE_EXTRUDEFROMTOP_
		case ExtrudeFromTopAnalysisEnum : return new ExtrudeFromTopAnalysis();
		#endif
		#ifdef _HAVE_FREESURFACEBASE_
		case FreeSurfaceBaseAnalysisEnum : return new FreeSurfaceBaseAnalysis();
		#endif
		#ifdef _HAVE_FREESURFACETOP_
		case FreeSurfaceTopAnalysisEnum : return new FreeSurfaceTopAnalysis();
		#endif
		#ifdef _HAVE_GLHEIGHTADVECTION_
		case GLheightadvectionAnalysisEnum : return new GLheightadvectionAnalysis();
		#endif
		#ifdef _HAVE_HYDROLOGYDCEFFICIENT_
		case HydrologyDCEfficientAnalysisEnum : return new HydrologyDCEfficientAnalysis();
		#endif
		#ifdef _HAVE_HYDROLOGYDCINEFFICIENT_
		case HydrologyDCInefficientAnalysisEnum : return new HydrologyDCInefficientAnalysis();
		#endif
		#ifdef _HAVE_HYDROLOGYGLADS_
		case HydrologyGlaDSAnalysisEnum : return new HydrologyGlaDSAnalysis();
		#endif
		#ifdef _HAVE_HYDROLOGYPISM_
		case HydrologyPismAnalysisEnum : return new HydrologyPismAnalysis();
		#endif
		#ifdef _HAVE_HYDROLOGYSHAKTI_
		case HydrologyShaktiAnalysisEnum : return new HydrologyShaktiAnalysis();
		#endif
		#ifdef _HAVE_HYDROLOGYSHREVE_
		case HydrologyShreveAnalysisEnum : return new HydrologyShreveAnalysis();
		#endif
		#ifdef _HAVE_L2PROJECTIONBASE_
		case L2ProjectionBaseAnalysisEnum : return new L2ProjectionBaseAnalysis();
		#endif
		#ifdef _HAVE_L2PROJECTIONEPL_
		case L2ProjectionEPLAnalysisEnum : return new L2ProjectionEPLAnalysis();
		#endif
		#ifdef _HAVE_LEVELSET_
		case LevelsetAnalysisEnum : return new LevelsetAnalysis();
		#endif
		#ifdef _HAVE_LOVE_
		case LoveAnalysisEnum : return new LoveAnalysis();
		#endif
		#ifdef _HAVE_MASSTRANSPORT_
		case MasstransportAnalysisEnum : return new MasstransportAnalysis();
		#endif
		#ifdef _HAVE_MELTING_
		case MeltingAnalysisEnum : return new MeltingAnalysis();
		#endif
		#ifdef _HAVE_OCEANTRANSPORT_
		case OceantransportAnalysisEnum : return new OceantransportAnalysis();
		#endif
		#ifdef _HAVE_SAMPLING_
		case SamplingAnalysisEnum : return new SamplingAnalysis();
		#endif
		#ifdef _HAVE_SEALEVELCHANGE_
		case SealevelchangeAnalysisEnum : return new SealevelchangeAnalysis();
		#endif
		#ifdef _HAVE_SMB_
		case SmbAnalysisEnum : return new SmbAnalysis();
		#endif
		#ifdef _HAVE_SMOOTH_
		case SmoothAnalysisEnum : return new SmoothAnalysis();
		#endif
		#ifdef _HAVE_STRESSBALANCE_
		case StressbalanceAnalysisEnum : return new StressbalanceAnalysis();
		#endif
		#ifdef _HAVE_STRESSBALANCESIA_
		case StressbalanceSIAAnalysisEnum : return new StressbalanceSIAAnalysis();
		#endif
		#ifdef _HAVE_STRESSBALANCEVERTICAL_
		case StressbalanceVerticalAnalysisEnum : return new StressbalanceVerticalAnalysis();
		#endif
		#ifdef _HAVE_THERMAL_
		case ThermalAnalysisEnum : return new ThermalAnalysis();
		#endif
		#ifdef _HAVE_UZAWAPRESSURE_
		case UzawaPressureAnalysisEnum : return new UzawaPressureAnalysis();
		#endif
		default : _error_("enum provided not supported ("<<EnumToStringx(analysis_enum)<<")");
	}
}
