PRISM
 v0.0.0
Loading...
Searching...
No Matches
prism::Species Class Reference

The species object which represents the products and reactants in the reaction. More...

#include <Species.h>

Inheritance diagram for prism::Species:
prism::SpeciesBase

Public Member Functions

 Species (const std::string &name, const bool marked_constant=false)
 Constructor for the species based on its symbolic representation.
 
SpeciesId id () const
 getter for the unique id for the species
 
bool markedConstant () const
 
bool isConstant () const
 
bool operator== (const Species &other) const
 Comparison operator checks if the sub species have the same member variables.
 
bool operator!= (const Species &other) const
 Comparison for checking whether or not the two are not equal.
 
const std::vector< std::shared_ptr< const Reaction > > rateBasedReactions () const
 Getter methods for the reactions of specific types this species is either a product or reactant of Warning there are expensive calls and you should use the equivelant method for getting the reaction data and then index into the vectors provided by NetworkParser::rateBasedReaction() or NetworkParser::xsecBasedReactions.
 
const std::vector< std::shared_ptr< const Reaction > > xsecBasedReactions () const
 Getter methods for the reactions of specific types this species is either a product or reactant of Warning there are expensive calls and you should use the equivelant method for getting the reaction data and then index into the vectors provided by NetworkParser::rateBasedReaction() or NetworkParser::xsecBasedReactions.
 
const std::vector< std::shared_ptr< const Reaction > > tabulatedRateBasedReactions () const
 Getter methods for the reactions of specific types this species is either a product or reactant of Warning there are expensive calls and you should use the equivelant method for getting the reaction data and then index into the vectors provided by NetworkParser::rateBasedReaction() or NetworkParser::xsecBasedReactions.
 
const std::vector< std::shared_ptr< const Reaction > > functionRateBasedReactions () const
 Getter methods for the reactions of specific types this species is either a product or reactant of Warning there are expensive calls and you should use the equivelant method for getting the reaction data and then index into the vectors provided by NetworkParser::rateBasedReaction() or NetworkParser::xsecBasedReactions.
 
const std::vector< std::shared_ptr< const Reaction > > tabulatedXSecBasedReactions () const
 Getter methods for the reactions of specific types this species is either a product or reactant of Warning there are expensive calls and you should use the equivelant method for getting the reaction data and then index into the vectors provided by NetworkParser::rateBasedReaction() or NetworkParser::xsecBasedReactions.
 
const std::vector< std::shared_ptr< const Reaction > > functionXSecBasedReactions () const
 Getter methods for the reactions of specific types this species is either a product or reactant of Warning there are expensive calls and you should use the equivelant method for getting the reaction data and then index into the vectors provided by NetworkParser::rateBasedReaction() or NetworkParser::xsecBasedReactions.
 
const std::vector< ReactionData > & rateBasedReactionData () const
 Getter methods for the reaction data of specific types this species.
 
const std::vector< ReactionData > & tabulatedRateBasedReactionData () const
 Getter methods for the reaction data of specific types this species.
 
const std::vector< ReactionData > & functionRateBasedReactionData () const
 Getter methods for the reaction data of specific types this species.
 
const std::vector< ReactionData > & xsecBasedReactionData () const
 Getter methods for the reaction data of specific types this species.
 
const std::vector< ReactionData > & tabulatedXSecBasedReactionData () const
 Getter methods for the reaction data of specific types this species.
 
const std::vector< ReactionData > & functionXSecBasedReactionData () const
 Getter methods for the reaction data of specific types this species.
 
const std::vector< ReactionData > & unbalancedRateBasedReactionData () const
 Getter methods for the reaction data of specific types this species getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient.
 
const std::vector< ReactionData > & unbalancedTabulatedRateBasedReactionData () const
 Getter methods for the reaction data of specific types this species.
 
const std::vector< ReactionData > & unbalancedFunctionRateBasedReactionData () const
 Getter methods for the reaction data of specific types this species.
 
const std::vector< ReactionData > & unbalancedXSecBasedReactionData () const
 Getter methods for the reaction data of specific types this species getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient.
 
const std::vector< ReactionData > & unbalancedTabulatedXSecBasedReactionData () const
 Getter methods for the reaction data of specific types this species getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient.
 
const std::vector< ReactionData > & unbalancedFunctionXSecBasedReactionData () const
 Getter methods for the reaction data of specific types this species getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient.
 
const std::vector< SubSpecies > & subSpecies () const
 Getter method for the subspecies list.
 
virtual std::string to_string () const override
 
bool operator== (const SpeciesBase &other) const
 Comparison operator checks if the two base species have the same name.
 
bool operator!= (const SpeciesBase &other) const
 Comparison for checking whether or not the two are not equal.
 
const std::string & name () const
 Getter method for the name of species.
 
double mass () const
 Getter method for the mass of the species mass of the species is in kg.
 
double molarMass () const
 Getter method for the molar mass of the species molar mass is in g / mol.
 
int chargeNumber () const
 Getter method for the charge number of the species.
 
double charge () const
 Getter method for the charge of the species.
 
const std::string & latexRepresentation () const
 Getter method for the latex name of the species.
 
const std::string & neutralGroundState () const
 Gets the ground neutral state of the subspecies Ex: H3* -> H3.
 

Protected Member Functions

std::string checkName (const std::string &name)
 Method checks to make sure that the name is not an empty std::string also checks to make sure e and E are reserved for electrons only.
 

Protected Attributes

std::string _name
 The full std::string of the species base.
 
double _mass
 The mass of an individual instance of the species.
 
double _molar_mass
 the molar mass of the species
 
double _charge
 the charge of the spcies in coulomb
 
int _charge_num
 The level of charge ex: Ar-4 this is -4.
 
std::string _latex_name
 The name of the spcies formatted for printing in a latex_table.
 
std::string _neutral_ground_state
 the neutral ground state for a species ex: Ar2* -> Ar2
 

Friends

class SpeciesFactory
 The species factory helps add reactionts to our lists.
 
std::string to_string (const std::shared_ptr< prism::Species > &s)
 
std::string to_string (const std::shared_ptr< const prism::Species > &s)
 
std::ostream & operator<< (std::ostream &os, const std::shared_ptr< prism::Species > &s)
 
std::ostream & operator<< (std::ostream &os, const std::shared_ptr< const prism::Species > &s)
 

Detailed Description

The species object which represents the products and reactants in the reaction.

Constructor & Destructor Documentation

◆ Species()

prism::Species::Species ( const std::string & name,
const bool marked_constant = false )

Constructor for the species based on its symbolic representation.

Parameters
namethe symbol used for the species

Member Function Documentation

◆ checkName()

string prism::SpeciesBase::checkName ( const std::string & name)
protectedinherited

Method checks to make sure that the name is not an empty std::string also checks to make sure e and E are reserved for electrons only.

Parameters
namethe std::string representation of the name

◆ functionRateBasedReactionData()

const std::vector< ReactionData > & prism::Species::functionRateBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ functionXSecBasedReactionData()

const std::vector< ReactionData > & prism::Species::functionXSecBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ id()

SpeciesId prism::Species::id ( ) const
inline

getter for the unique id for the species

Returns
its position in the vector returned by NetworkParser::species()

◆ rateBasedReactionData()

const std::vector< ReactionData > & prism::Species::rateBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ tabulatedRateBasedReactionData()

const std::vector< ReactionData > & prism::Species::tabulatedRateBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ tabulatedXSecBasedReactionData()

const std::vector< ReactionData > & prism::Species::tabulatedXSecBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ to_string()

string prism::Species::to_string ( ) const
overridevirtual

Reimplemented from prism::SpeciesBase.

◆ unbalancedFunctionRateBasedReactionData()

const std::vector< ReactionData > & prism::Species::unbalancedFunctionRateBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species.

  • getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient
    Returns
    a struct of type ReactionData for the reactions of the specific type

◆ unbalancedFunctionXSecBasedReactionData()

const std::vector< ReactionData > & prism::Species::unbalancedFunctionXSecBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ unbalancedRateBasedReactionData()

const std::vector< ReactionData > & prism::Species::unbalancedRateBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ unbalancedTabulatedRateBasedReactionData()

const std::vector< ReactionData > & prism::Species::unbalancedTabulatedRateBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species.

  • getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient
    Returns
    a struct of type ReactionData for the reactions of the specific type

◆ unbalancedTabulatedXSecBasedReactionData()

const std::vector< ReactionData > & prism::Species::unbalancedTabulatedXSecBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ unbalancedXSecBasedReactionData()

const std::vector< ReactionData > & prism::Species::unbalancedXSecBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species getting the unbalanced data only returns data for reactions in which this species has a non-zero stoichiometric coefficient.

Returns
a struct of type ReactionData for the reactions of the specific type

◆ xsecBasedReactionData()

const std::vector< ReactionData > & prism::Species::xsecBasedReactionData ( ) const
inline

Getter methods for the reaction data of specific types this species.

Returns
a struct of type ReactionData for the reactions of the specific type

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