ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/FAS/src/extradata.cpp
Revision: 66
Committed: Tue Aug 13 16:02:26 2002 UTC (21 years, 10 months ago) by tim
File size: 1766 byte(s)
Log Message:
flexible atom selection

File Contents

# User Rev Content
1 tim 66 #include <algorithm>
2     #include "extradata.h"
3    
4     //member function for TExtraData
5     TExtraData::TExtraData()
6     {
7     _ident = "unknown";
8     _type = TExtraDataType::UNKNOWN;
9     }
10    
11     TExtraData::TExtraData(const TExtraData & extraData)
12     {
13     _ident = extraData._ident;
14     _type = extraData._type;
15     }
16    
17     TExtraData &TExtraData::operator =(const TExtraData extraData)
18     {
19     if (this == &extraData)
20     return *this;
21    
22     _indet = extraData._ident;
23     _type = extraData._type;
24     return *this;
25     }
26    
27     //member function for Energy Data
28     TEnergyData::TEnergyData()
29     {
30     _ident = "Energy";
31     _type = TExtraDataType::ENERGY;
32     }
33    
34     TEnergyData::TEnergyData(const TEnergyData &energyData) : TExtraData(energyData)
35     {
36     _energy = energyData._energy;
37     }
38    
39     TEnergyData &TEnergyData::operator =(TEnergyData &energyData)
40     {
41     if (this == &energyData)
42     return *this;
43     TExtraData::operator =(enrgyData);
44     _energy = energyDataType._energy;
45     }
46    
47     TEnergyData::~TEnergyData()
48     {
49     _energy.clear();
50     }
51    
52     map<int, float>::iterator TEnergyData::FindEnergy(int energyType)
53     {
54     return find(_energy.begin(), _energy.end(), energyType);
55     }
56    
57     void TEnergyData::AddEnergy(int energyType, float value)
58     {
59     _energy.insert(map<int,float>::value_type(energyType, value));
60     }
61    
62     void TEnergyData::ReplaceEnergy(int energyType, float value)
63     {
64     map<int, float>::iterator i;
65     i = FindEnergy(energyType);
66    
67     if (i != _energy.end())
68     {
69     *i = value;
70     }
71     }
72    
73     void TEnergyData::DeleteEnergy(int energyType)
74     {
75     map<int, float>::iterator i;
76     i = FindEnergy(energyType);
77    
78     if (i != _energy.end())
79     {
80     _energy.erase(i);
81     }
82     }
83    
84     //return the energy with specified type, return NULL if not find
85     float *TEnergyData::GetEnergy(int energyType)
86     {
87     map<int, float>::iterator i;
88     i = FindEnergy(energyType);
89    
90     if (i != _energy.end())
91     {
92     return *i;
93     }
94     else
95     {
96     return NULL;
97     }
98     }