Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
generic_state.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2023 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef GENERIC_STATE_H_
5 #define GENERIC_STATE_H_
6 
7 #include "quantumstate.h"
8 
9 class molezone;
11 {
12 public:
14  explicit genericState(const molezone* sp) : sp(sp), val(NULL) {}
15  explicit genericState(const qStateConstProxy& q)
16  : sp(NULL), q(q), val(NULL) {}
17  explicit genericState(const char *valLabel, const double *val)
18  : sp(NULL), val(val), valLabel(valLabel) {}
19  const molezone* sp;
21  const double* val;
22  string valLabel;
23  bool associated() const;
24  string label() const;
25  string database() const;
26  bool isSpecies() const;
27 };
28 
29 double column(const genericState&);
30 double density(const genericState&);
31 double depart(const genericState&);
32 double energy(const genericState&);
33 double levels(const genericState&);
34 
42 void extractLevels( const string &chLabel,
43  string &species,
44  long &nLevelLo,
45  long &nLevelHi,
46  bool &lgLevels );
47 
53 const molezone *getLevelsGeneric(const string &chLabel, bool lgValidate, vector<long> &LevelList);
54 
60 vector<genericState> matchGeneric(const string &chLabel, bool lgValidate);
61 
68 genericState getSpeciesGeneric( const string &speciesLabel );
69 
70 
71 #endif // GENERIC_STATE_H_
vector< genericState > matchGeneric(const string &chLabel, bool lgValidate)
Definition: generic_state.cpp:292
genericState(const molezone *sp)
Definition: generic_state.h:14
double levels(const genericState &)
Definition: generic_state.cpp:63
const molezone * getLevelsGeneric(const string &chLabel, bool lgValidate, vector< long > &LevelList)
Definition: generic_state.cpp:221
genericState()
Definition: generic_state.h:13
void extractLevels(const string &chLabel, string &species, long &nLevelLo, long &nLevelHi, bool &lgLevels)
Definition: generic_state.cpp:114
bool isSpecies() const
Definition: generic_state.cpp:73
Definition: generic_state.h:10
Definition: mole.h:407
double density(const genericState &)
Definition: generic_state.cpp:27
bool associated() const
Definition: generic_state.cpp:101
const double * val
Definition: generic_state.h:21
double column(const genericState &)
Definition: generic_state.cpp:15
string valLabel
Definition: generic_state.h:22
string database() const
Definition: generic_state.cpp:93
#define NULL
Definition: cddefines.h:115
const molezone * sp
Definition: generic_state.h:19
double energy(const genericState &)
Definition: generic_state.cpp:51
genericState getSpeciesGeneric(const string &speciesLabel)
Definition: generic_state.cpp:357
Definition: quantumstate.h:279
double depart(const genericState &)
Definition: generic_state.cpp:39
genericState(const qStateConstProxy &q)
Definition: generic_state.h:15
string label() const
Definition: generic_state.cpp:81
genericState(const char *valLabel, const double *val)
Definition: generic_state.h:17
qStateConstProxy q
Definition: generic_state.h:20
Definition: species.h:11