00001
00002
00003 #include "cddefines.h"
00004 #include "taulines.h"
00005
00006 INSTANTIATE_MULTI_ARR( qList, lgBOUNDSCHECKVAL );
00007
00008 vector<TransitionList> AllTransitions;
00009
00010 bool lgStatesAdded;
00011 bool lgLinesAdded;
00012 multi_arr<qList,2> StatesElemNEW;
00013 char **chSpecies;
00014 species *dBaseSpecies;
00015 vector<qList> dBaseStates;
00016 vector< multi_arr<int,2> > ipdBaseTrans;
00017 vector<TransitionList> dBaseTrans;
00018 multi_arr<CollRateCoeffArray,2> AtmolCollRateCoeff;
00019 CollSplinesArray ****AtmolCollSplines;
00020 StoutColls ****StoutCollData;
00021 long int nSpecies;
00022 qList AnonStates(1);
00023 TransitionList TauLines("TauLines", &AnonStates);
00024 multi_arr<int,3> ipExtraLymanLines;
00025 vector<vector<TransitionList> > ExtraLymanLines;
00026 long int nUTA;
00027 TransitionList UTALines("UTALines", &AnonStates);
00028 long int nLevel1;
00030 TransitionList HFLines("HFLines", &AnonStates);
00031 long int nHFLines;
00032
00033 vector<vector<TransitionList> > Transitions;
00034 multi_arr<int,2> ipFe2LevN;
00035 static qList Fe2LevNStates;
00036 TransitionList Fe2LevN("Fe2LevN", &Fe2LevNStates);
00037 multi_arr<int,3> ipSatelliteLines;
00038 vector<vector<TransitionList> > SatelliteLines;
00039 TransitionList TauLine2("TauLine2", &AnonStates);
00040 realnum *cs1_flag_lev2;
00041
00042 extern void checkTransitionListOfLists(vector<TransitionList>&list)
00043 {
00044 for (vector<TransitionList>::iterator it=list.begin();
00045 it != list.end(); ++it)
00046 {
00047 for (TransitionList::iterator tr = it->begin();
00048 tr != it->end(); ++tr)
00049 {
00050 (*tr).check();
00051 }
00052 for (EmissionList::iterator em = it->Emis().begin();
00053 em != it->Emis().end(); ++em)
00054 {
00055 (*em).check();
00056 }
00057 }
00058 }
00059
00060 TransitionProxy::iterator TauDummy;
00061 EmissionProxy DummyEmis;
00062
00063 namespace
00064 {
00065 class Init
00066 {
00067 EmissionList DummyEmisList;
00068 TransitionListImpl TauDummyTrans;
00069 public:
00070 Init(qList*states) :
00071 DummyEmisList(&TauDummyTrans, 1), TauDummyTrans("TauDummy",states, 1)
00072 {
00073 DummyEmis = DummyEmisList[0];
00074 TauDummy=TauDummyTrans.begin();
00075 };
00076 };
00077 qList TauDummyStates(1);
00078 Init TauDummyInit(&TauDummyStates);;
00079 }