NeuroMLImporter.h

Go to the documentation of this file.
00001 #ifndef NEUROMLIMPORTER_H_
00002 #define NEUROMLIMPORTER_H_
00003 
00004 #include <string>
00005 #include "SimNetwork.h"
00006 
00007 #include "parser/implementation/NeuroML_Level3_v1.7.1-pimpl.hpp"
00008 
00009 #include "parser/PCSIMParserEnvironment.h"
00010 
00011 #include <map>
00012 #include <string>
00013 #include "SimObject.h"
00014 #include <boost/shared_ptr.hpp>
00015 #include "pcsim_hash.h"
00016 
00017 #include "LifNeuron.h"
00018 
00019 class NeuroMLImporter
00020 {
00021 
00022     public:
00023         NeuroMLImporter(std::string schema_location = ".");
00024         ~NeuroMLImporter();
00025 
00026         void load(std::string filename, SimNetwork &net);
00027 
00028         const PCSIMParserEnvironment& elements()
00029         {
00030             return *env;
00031         }
00032         
00033     private:
00034         std::string schema_location;
00035         PCSIMParserEnvironment *env;
00036 
00037     private:
00038 
00039         void connect_parsers();
00040         void setSimulationEnvironment();
00041 
00042         //
00043         // Instantiate individual parsers.
00044         //
00045         ::neuroml::schema::NeuroMLLevel3_pimpl NeuroMLLevel3_p;
00046         ::metadata::schema::Notes_pimpl Notes_p;
00047         ::metadata::schema::Properties_pimpl Properties_p;
00048         ::metadata::schema::Property_pimpl Property_p;
00049         ::xml_schema::string_pimpl string_p;
00050         ::metadata::schema::Annotation_pimpl Annotation_p;
00051         ::metadata::schema::Group_pimpl Group_p;
00052         ::metadata::schema::Authors_pimpl Authors_p;
00053         ::metadata::schema::Person_pimpl Person_p;
00054         ::metadata::schema::Publication_pimpl Publication_p;
00055         ::metadata::schema::NeuronDBReference_pimpl NeuronDBReference_p;
00056         ::metadata::schema::ModelDBReference_pimpl ModelDBReference_p;
00057         ::neuroml::schema::Level3Cells_pimpl Level3Cells_p;
00058         ::neuroml::schema::Level3Cell_pimpl Level3Cell_p;
00059         ::morphml::schema::cellBody_pimpl cellBody_p;
00060         ::metadata::schema::Polygon_pimpl Polygon_p;
00061         ::metadata::schema::Point_pimpl Point_p;
00062         ::xml_schema::double_pimpl double_p;
00063         ::metadata::schema::Polyhedron_pimpl Polyhedron_p;
00064         ::metadata::schema::polygons_pimpl polygons_p;
00065         ::metadata::schema::Sphere_pimpl Sphere_p;
00066         ::morphml::schema::segments_pimpl segments_p;
00067         ::morphml::schema::Segment_pimpl Segment_p;
00068         ::metadata::schema::SegmentIdInCell_pimpl SegmentIdInCell_p;
00069         ::xml_schema::non_negative_integer_pimpl non_negative_integer_p;
00070         ::morphml::schema::FreePoints_pimpl FreePoints_p;
00071         ::morphml::schema::spines_pimpl spines_p;
00072         ::morphml::schema::Spine_pimpl Spine_p;
00073         ::morphml::schema::SpineShape_pimpl SpineShape_p;
00074         ::morphml::schema::cables_pimpl cables_p;
00075         ::morphml::schema::Cable_pimpl Cable_p;
00076         ::metadata::schema::ZeroToOne_pimpl ZeroToOne_p;
00077         ::morphml::schema::CableGroup_pimpl CableGroup_p;
00078         ::morphml::schema::cable_pimpl cable_p;
00079         ::morphml::schema::InhomogeneousParam_pimpl InhomogeneousParam_p;
00080         ::morphml::schema::metric_pimpl metric_p;
00081         ::morphml::schema::proximal_pimpl proximal_p;
00082         ::morphml::schema::distal_pimpl distal_p;
00083         ::neuroml::schema::Level3Biophysics_pimpl Level3Biophysics_p;
00084         ::biophysics::schema::Mechanism_pimpl Mechanism_p;
00085         ::biophysics::schema::NamedParameter_pimpl NamedParameter_p;
00086         ::biophysics::schema::VariableNamedParameter_pimpl VariableNamedParameter_p;
00087         ::biophysics::schema::InhomogeneousValue_pimpl InhomogeneousValue_p;
00088         ::biophysics::schema::MechanismType_pimpl MechanismType_p;
00089         ::xml_schema::boolean_pimpl boolean_p;
00090         ::biophysics::schema::SpecCapacitance_pimpl SpecCapacitance_p;
00091         ::biophysics::schema::UnnamedParameter_pimpl UnnamedParameter_p;
00092         ::biophysics::schema::VariableParameter_pimpl VariableParameter_p;
00093         ::biophysics::schema::SpecAxialResistance_pimpl SpecAxialResistance_p;
00094         ::biophysics::schema::InitialMembPotential_pimpl InitialMembPotential_p;
00095         ::biophysics::schema::IonProperties_pimpl IonProperties_p;
00096         ::metadata::schema::Units_pimpl Units_p;
00097         ::networkml::schema::PotentialSynapticLocation_pimpl PotentialSynapticLocation_p;
00098         ::networkml::schema::SynapseDirection_pimpl SynapseDirection_p;
00099         ::networkml::schema::Level3Connectivity_pimpl Level3Connectivity_p;
00100         ::networkml::schema::PotentialSynLoc_pimpl PotentialSynLoc_p;
00101         ::channelml::schema::ChannelML_pimpl ChannelML_p;
00102         ::channelml::schema::Ion_pimpl Ion_p;
00103         ::biophysics::schema::VoltageValue_pimpl VoltageValue_p;
00104         ::xml_schema::positive_integer_pimpl positive_integer_p;
00105         ::channelml::schema::IonRole_pimpl IonRole_p;
00106         ::channelml::schema::ChannelType_pimpl ChannelType_p;
00107         ::metadata::schema::Status_pimpl Status_p;
00108         ::metadata::schema::StatusValue_pimpl StatusValue_p;
00109         ::channelml::schema::CurrentVoltageRelation_pimpl CurrentVoltageRelation_p;
00110         ::channelml::schema::Ohmic_pimpl Ohmic_p;
00111         ::channelml::schema::conductance_pimpl conductance_p;
00112         ::channelml::schema::RateAdjustments_pimpl RateAdjustments_p;
00113         ::channelml::schema::q10_settings_pimpl q10_settings_p;
00114         ::biophysics::schema::TemperatureValue_pimpl TemperatureValue_p;
00115         ::channelml::schema::offset_pimpl offset_p;
00116         ::channelml::schema::Gate_pimpl Gate_p;
00117         ::channelml::schema::state_pimpl state_p;
00118         ::biophysics::schema::ConductanceDensityValue_pimpl ConductanceDensityValue_p;
00119         ::channelml::schema::IntegrateAndFire_pimpl IntegrateAndFire_p;
00120         ::biophysics::schema::TimeValue_pimpl TimeValue_p;
00121         ::biophysics::schema::ConductanceValue_pimpl ConductanceValue_p;
00122         ::channelml::schema::HHGate_pimpl HHGate_p;
00123         ::channelml::schema::Transition_pimpl Transition_p;
00124         ::channelml::schema::VoltageGate_pimpl VoltageGate_p;
00125         ::channelml::schema::RateConstantEqnChoice_pimpl RateConstantEqnChoice_p;
00126         ::channelml::schema::AkdEquation_pimpl AkdEquation_p;
00127         ::channelml::schema::Parameter_pimpl Parameter_p;
00128         ::channelml::schema::GenericEquation_pimpl GenericEquation_p;
00129         ::channelml::schema::VoltageConcGate_pimpl VoltageConcGate_p;
00130         ::channelml::schema::ConcDependence_pimpl ConcDependence_p;
00131         ::biophysics::schema::ConcentrationValue_pimpl ConcentrationValue_p;
00132         ::channelml::schema::RateConstVoltConcDep_pimpl RateConstVoltConcDep_p;
00133         ::channelml::schema::KSGate_pimpl KSGate_p;
00134         ::channelml::schema::KSState_pimpl KSState_p;
00135         ::channelml::schema::ImplementationPrefs_pimpl ImplementationPrefs_p;
00136         ::channelml::schema::table_settings_pimpl table_settings_p;
00137         ::metadata::schema::YesNo_pimpl YesNo_p;
00138         ::channelml::schema::SynapseType_pimpl SynapseType_p;
00139         ::channelml::schema::ElectricalSynapse_pimpl ElectricalSynapse_p;
00140         ::channelml::schema::DoubleExponentialSynapse_pimpl DoubleExponentialSynapse_p;
00141         ::biophysics::schema::TimeConstantValueIncZero_pimpl TimeConstantValueIncZero_p;
00142         ::biophysics::schema::TimeConstantValue_pimpl TimeConstantValue_p;
00143         ::channelml::schema::BlockingSynapse_pimpl BlockingSynapse_p;
00144         ::channelml::schema::Block_pimpl Block_p;
00145         ::channelml::schema::MultiDecaySynapse_pimpl MultiDecaySynapse_p;
00146         ::channelml::schema::FacDepSynapse_pimpl FacDepSynapse_p;
00147         ::channelml::schema::FacDep_pimpl FacDep_p;
00148         ::channelml::schema::IonConcentration_pimpl IonConcentration_p;
00149         ::channelml::schema::IonSpecies_pimpl IonSpecies_p;
00150         ::channelml::schema::DecayingPoolModel_pimpl DecayingPoolModel_p;
00151         ::biophysics::schema::InvTimeConstantValue_pimpl InvTimeConstantValue_p;
00152         ::channelml::schema::PoolVolumeInfo_pimpl PoolVolumeInfo_p;
00153         ::biophysics::schema::LengthValue_pimpl LengthValue_p;
00154         ::channelml::schema::FixedPoolInfo_pimpl FixedPoolInfo_p;
00155         ::networkml::schema::Populations_pimpl Populations_p;
00156         ::networkml::schema::Population_pimpl Population_p;
00157         ::networkml::schema::Instances_pimpl Instances_p;
00158         ::networkml::schema::CellInstance_pimpl CellInstance_p;
00159         ::metadata::schema::Point3D_pimpl Point3D_p;
00160         ::networkml::schema::PopulationLocation_pimpl PopulationLocation_p;
00161         ::networkml::schema::RandomArrangement_pimpl RandomArrangement_p;
00162         ::metadata::schema::RectangularBox_pimpl RectangularBox_p;
00163         ::metadata::schema::size_pimpl size_p;
00164         ::networkml::schema::GridArrangement_pimpl GridArrangement_p;
00165         ::networkml::schema::spacing_pimpl spacing_p;
00166         ::metadata::schema::NonSpatialGrid_pimpl NonSpatialGrid_p;
00167         ::networkml::schema::Projections_pimpl Projections_p;
00168         ::networkml::schema::Projection_pimpl Projection_p;
00169         ::networkml::schema::GlobalSynapticProperties_pimpl GlobalSynapticProperties_p;
00170         ::biophysics::schema::SynapticDelayValue_pimpl SynapticDelayValue_p;
00171         ::metadata::schema::NonNegativeDouble_pimpl NonNegativeDouble_p;
00172         ::networkml::schema::SynapseInternalProperties_pimpl SynapseInternalProperties_p;
00173         ::networkml::schema::Connections_pimpl Connections_p;
00174         ::networkml::schema::Connection_pimpl Connection_p;
00175         ::networkml::schema::SynapticLocation_pimpl SynapticLocation_p;
00176         ::xml_schema::integer_pimpl integer_p;
00177         ::networkml::schema::LocalSynapticProperties_pimpl LocalSynapticProperties_p;
00178         ::networkml::schema::ConnectivityPattern_pimpl ConnectivityPattern_p;
00179         ::networkml::schema::all_to_all_pimpl all_to_all_p;
00180         ::networkml::schema::fixed_probability_pimpl fixed_probability_p;
00181         ::networkml::schema::PerCellConnection_pimpl PerCellConnection_p;
00182         ::networkml::schema::direction_pimpl direction_p;
00183         ::metadata::schema::PositiveDouble_pimpl PositiveDouble_p;
00184         ::networkml::schema::Inputs_pimpl Inputs_p;
00185         ::networkml::schema::Input_pimpl Input_p;
00186         ::networkml::schema::PulseInput_pimpl PulseInput_p;
00187         ::biophysics::schema::CurrentValue_pimpl CurrentValue_p;
00188         ::networkml::schema::RandomStim_pimpl RandomStim_p;
00189         ::biophysics::schema::FrequencyValue_pimpl FrequencyValue_p;
00190         ::networkml::schema::InputTarget_pimpl InputTarget_p;
00191         ::networkml::schema::InputSites_pimpl InputSites_p;
00192         ::networkml::schema::InputSite_pimpl InputSite_p;
00193         ::networkml::schema::CellIdInNetwork_pimpl CellIdInNetwork_p;
00194         ::networkml::schema::InputSitePattern_pimpl InputSitePattern_p;
00195         ::networkml::schema::all_cells_pimpl all_cells_p;
00196         ::networkml::schema::percentage_cells_pimpl percentage_cells_p;
00197         ::metadata::schema::Percentage_pimpl Percentage_p;
00198         ::metadata::schema::LengthUnits_pimpl LengthUnits_p;
00199         ::metadata::schema::VolumeUnits_pimpl VolumeUnits_p;
00200 
00201 };
00202 
00203 #endif /*NEUROMLIMPORTER_H_*/

Generated on Wed Jul 9 16:34:37 2008 for PCSIM by  doxygen 1.5.5