Try  HackMD Logo HackMD

Data Structrue of COSMOSS

Here I document the data structure within COSMOSS. Before getting into the map, I want to explain the box diagram (Class diagram) used to depict the data structure map.

Example_Class

Property A

Property B

Property C

Property ...

ChildA()

ChildB()

ChildC()

Child...()

For example, the above "Example_Class" is defined with certain properties listed in the middle box. The children indicated in the bottom box inherent the same properties of such class. A specific example in COSMOSS is the "Data_2DIR" and "Data_2DSFG":

Data_2D

SpectraGrid

Response

CVL

SpecType

Data_2DIR()

Data_2DSFG()

Since both of them share the same properties, (i.e. SpectraGrid, Response, CVL, and SpecType) They can be defined using the "Data_2D" class.

A property within a class can also be a class. In this case, the sub-class will be further defined in another box that connected by an arrow.

The map of data structure in COSMOSS

version 2.3.0

Data_COSMOSS

Structure

Data_FTIR

Data_SFG

Data_2DIR

Data_2DSFG

hCOSMOSS

hModel

Data_Models

Parent

Structure

CombOrder

GUI_Inputs

app

Data_TCO()

Data_PDB_AmideI()

Data_2DGrid()

Data_BSheet()

Data_Comb2()

Data_2D

SpectraGrid

Response

CVL

SpecType

Data_2DIR()

Data_2DSFG()

Data_1D

FilesName

SpecType

Response1D

freq_OneD

Mu

H

Res_Int

Alpha

MolFrame

R_Avg

LabFrame

Jones

JLabFrame

E

EJLabFrame

Data_FTIR()

Data_SFG()

Structure

+XYZ

+AtomName

+LocCenter

+LocMu

+LocAlpha

+GUI_Inputs

+hPlotFunc

+FilesName

+Children

+Extra

+LocFreq

+LocAnharm

+Beta

#Nmodes

#NAtoms

#NStucture

#LocAlphaM

#CoM

#OneExH

#TwoExH

-Scaled_LocMu

-Scaled_LocAlpha

FeynmanPath

R1

R2

R3

NR1

NR2

NR3

SpectraGrid()

IntGrid()

Beta()

Response

H

Mu

Alpha

PCutOff

EJLR

SpecType

Gamma

IntGrid

SparseMax

CVL

R

NR

sum

R_No_Conv

NR_No_Conv

sum_No_Conv

selected

selected_No_Conv

Lineshape

FreqRange

FilesName

H

Sort_Ex_F1

Sort_Ex_V1

Sort_Ex_F2

Sort_Ex_V2

TEDIndexBegin

TEDIndexEnd

TransitionMoment

M_Lo_01

M_Ex_01

M_Lo_12

M_Ex_12

M_Ex_01_N

M_Ex_12_N

M_Ex_01_D

M_Ex_01_V

M_Ex_12_D

M_Ex_12_V

Mu()

Alpha()

Detail explanation of each class and their properties can be found here:

Todos:

  • Organize Data_1D class
  • Add method to FeynmanPath class to select 'Rephasing', 'non-Rephasing', and 'All path'
  • Write details about each class
  • Turn them in to real class
tags: COSMOSS code