11 #include <IMP/atom/atom_config.h>
26 IMPATOM_BEGIN_NAMESPACE
65 IMPATOMEXPORT
extern const AtomType AT_C;
67 IMPATOMEXPORT
extern const AtomType AT_O;
69 IMPATOMEXPORT
extern const AtomType AT_H;
71 IMPATOMEXPORT
extern const AtomType AT_H1;
73 IMPATOMEXPORT
extern const AtomType AT_H2;
75 IMPATOMEXPORT
extern const AtomType AT_H3;
77 IMPATOMEXPORT
extern const AtomType AT_HA;
79 IMPATOMEXPORT
extern const AtomType AT_HA1;
81 IMPATOMEXPORT
extern const AtomType AT_HA2;
83 IMPATOMEXPORT
extern const AtomType AT_HA3;
85 IMPATOMEXPORT
extern const AtomType AT_CB;
87 IMPATOMEXPORT
extern const AtomType AT_HB;
89 IMPATOMEXPORT
extern const AtomType AT_HB1;
90 IMPATOMEXPORT
extern const AtomType AT_HB2;
91 IMPATOMEXPORT
extern const AtomType AT_HB3;
92 IMPATOMEXPORT
extern const AtomType AT_OXT;
93 IMPATOMEXPORT
extern const AtomType AT_CH3;
94 IMPATOMEXPORT
extern const AtomType AT_CH;
95 IMPATOMEXPORT
extern const AtomType AT_CG;
96 IMPATOMEXPORT
extern const AtomType AT_CG1;
97 IMPATOMEXPORT
extern const AtomType AT_CG2;
98 IMPATOMEXPORT
extern const AtomType AT_HG;
99 IMPATOMEXPORT
extern const AtomType AT_HG1;
100 IMPATOMEXPORT
extern const AtomType AT_HG2;
101 IMPATOMEXPORT
extern const AtomType AT_HG3;
102 IMPATOMEXPORT
extern const AtomType AT_HG11;
103 IMPATOMEXPORT
extern const AtomType AT_HG21;
104 IMPATOMEXPORT
extern const AtomType AT_HG31;
105 IMPATOMEXPORT
extern const AtomType AT_HG12;
106 IMPATOMEXPORT
extern const AtomType AT_HG13;
107 IMPATOMEXPORT
extern const AtomType AT_HG22;
108 IMPATOMEXPORT
extern const AtomType AT_HG23;
109 IMPATOMEXPORT
extern const AtomType AT_HG32;
110 IMPATOMEXPORT
extern const AtomType AT_OG;
111 IMPATOMEXPORT
extern const AtomType AT_OG1;
112 IMPATOMEXPORT
extern const AtomType AT_SG;
113 IMPATOMEXPORT
extern const AtomType AT_CD;
114 IMPATOMEXPORT
extern const AtomType AT_CD1;
115 IMPATOMEXPORT
extern const AtomType AT_CD2;
116 IMPATOMEXPORT
extern const AtomType AT_HD;
117 IMPATOMEXPORT
extern const AtomType AT_HD1;
118 IMPATOMEXPORT
extern const AtomType AT_HD2;
119 IMPATOMEXPORT
extern const AtomType AT_HD3;
120 IMPATOMEXPORT
extern const AtomType AT_HD11;
121 IMPATOMEXPORT
extern const AtomType AT_HD21;
122 IMPATOMEXPORT
extern const AtomType AT_HD31;
123 IMPATOMEXPORT
extern const AtomType AT_HD12;
124 IMPATOMEXPORT
extern const AtomType AT_HD13;
125 IMPATOMEXPORT
extern const AtomType AT_HD22;
126 IMPATOMEXPORT
extern const AtomType AT_HD23;
127 IMPATOMEXPORT
extern const AtomType AT_HD32;
128 IMPATOMEXPORT
extern const AtomType AT_SD;
129 IMPATOMEXPORT
extern const AtomType AT_OD1;
130 IMPATOMEXPORT
extern const AtomType AT_OD2;
131 IMPATOMEXPORT
extern const AtomType AT_ND1;
132 IMPATOMEXPORT
extern const AtomType AT_ND2;
133 IMPATOMEXPORT
extern const AtomType AT_CE;
134 IMPATOMEXPORT
extern const AtomType AT_CE1;
135 IMPATOMEXPORT
extern const AtomType AT_CE2;
136 IMPATOMEXPORT
extern const AtomType AT_CE3;
137 IMPATOMEXPORT
extern const AtomType AT_HE;
138 IMPATOMEXPORT
extern const AtomType AT_HE1;
139 IMPATOMEXPORT
extern const AtomType AT_HE2;
140 IMPATOMEXPORT
extern const AtomType AT_HE3;
141 IMPATOMEXPORT
extern const AtomType AT_HE21;
142 IMPATOMEXPORT
extern const AtomType AT_HE22;
143 IMPATOMEXPORT
extern const AtomType AT_OE1;
144 IMPATOMEXPORT
extern const AtomType AT_OE2;
145 IMPATOMEXPORT
extern const AtomType AT_NE;
146 IMPATOMEXPORT
extern const AtomType AT_NE1;
147 IMPATOMEXPORT
extern const AtomType AT_NE2;
148 IMPATOMEXPORT
extern const AtomType AT_CZ;
149 IMPATOMEXPORT
extern const AtomType AT_CZ2;
150 IMPATOMEXPORT
extern const AtomType AT_CZ3;
151 IMPATOMEXPORT
extern const AtomType AT_NZ;
152 IMPATOMEXPORT
extern const AtomType AT_HZ;
153 IMPATOMEXPORT
extern const AtomType AT_HZ1;
154 IMPATOMEXPORT
extern const AtomType AT_HZ2;
155 IMPATOMEXPORT
extern const AtomType AT_HZ3;
156 IMPATOMEXPORT
extern const AtomType AT_CH2;
157 IMPATOMEXPORT
extern const AtomType AT_NH1;
158 IMPATOMEXPORT
extern const AtomType AT_NH2;
159 IMPATOMEXPORT
extern const AtomType AT_OH;
160 IMPATOMEXPORT
extern const AtomType AT_HH;
161 IMPATOMEXPORT
extern const AtomType AT_HH11;
162 IMPATOMEXPORT
extern const AtomType AT_HH21;
163 IMPATOMEXPORT
extern const AtomType AT_HH2;
164 IMPATOMEXPORT
extern const AtomType AT_HH12;
165 IMPATOMEXPORT
extern const AtomType AT_HH22;
166 IMPATOMEXPORT
extern const AtomType AT_HH13;
167 IMPATOMEXPORT
extern const AtomType AT_HH23;
168 IMPATOMEXPORT
extern const AtomType AT_HH33;
169 IMPATOMEXPORT
extern const AtomType AT_P;
170 IMPATOMEXPORT
extern const AtomType AT_OP1;
171 IMPATOMEXPORT
extern const AtomType AT_OP2;
172 IMPATOMEXPORT
extern const AtomType AT_OP3;
173 IMPATOMEXPORT
extern const AtomType AT_O5p;
174 IMPATOMEXPORT
extern const AtomType AT_C5p;
175 IMPATOMEXPORT
extern const AtomType AT_H5p;
176 IMPATOMEXPORT
extern const AtomType AT_H5pp;
177 IMPATOMEXPORT
extern const AtomType AT_C4p;
178 IMPATOMEXPORT
extern const AtomType AT_H4p;
179 IMPATOMEXPORT
extern const AtomType AT_O4p;
180 IMPATOMEXPORT
extern const AtomType AT_C1p;
181 IMPATOMEXPORT
extern const AtomType AT_H1p;
182 IMPATOMEXPORT
extern const AtomType AT_C3p;
183 IMPATOMEXPORT
extern const AtomType AT_H3p;
184 IMPATOMEXPORT
extern const AtomType AT_O3p;
185 IMPATOMEXPORT
extern const AtomType AT_C2p;
186 IMPATOMEXPORT
extern const AtomType AT_H2p;
187 IMPATOMEXPORT
extern const AtomType AT_H2pp;
188 IMPATOMEXPORT
extern const AtomType AT_O2p;
189 IMPATOMEXPORT
extern const AtomType AT_HO2p;
190 IMPATOMEXPORT
extern const AtomType AT_N9;
191 IMPATOMEXPORT
extern const AtomType AT_C8;
192 IMPATOMEXPORT
extern const AtomType AT_H8;
193 IMPATOMEXPORT
extern const AtomType AT_N7;
194 IMPATOMEXPORT
extern const AtomType AT_C5;
195 IMPATOMEXPORT
extern const AtomType AT_C4;
196 IMPATOMEXPORT
extern const AtomType AT_N3;
197 IMPATOMEXPORT
extern const AtomType AT_C2;
198 IMPATOMEXPORT
extern const AtomType AT_N1;
199 IMPATOMEXPORT
extern const AtomType AT_C6;
200 IMPATOMEXPORT
extern const AtomType AT_N6;
201 IMPATOMEXPORT
extern const AtomType AT_H61;
202 IMPATOMEXPORT
extern const AtomType AT_H62;
203 IMPATOMEXPORT
extern const AtomType AT_O6;
204 IMPATOMEXPORT
extern const AtomType AT_N2;
205 IMPATOMEXPORT
extern const AtomType AT_NT;
206 IMPATOMEXPORT
extern const AtomType AT_H21;
207 IMPATOMEXPORT
extern const AtomType AT_H22;
208 IMPATOMEXPORT
extern const AtomType AT_H6;
209 IMPATOMEXPORT
extern const AtomType AT_H5;
210 IMPATOMEXPORT
extern const AtomType AT_O2;
211 IMPATOMEXPORT
extern const AtomType AT_N4;
212 IMPATOMEXPORT
extern const AtomType AT_H41;
213 IMPATOMEXPORT
extern const AtomType AT_H42;
214 IMPATOMEXPORT
extern const AtomType AT_O4;
215 IMPATOMEXPORT
extern const AtomType AT_C7;
216 IMPATOMEXPORT
extern const AtomType AT_H71;
217 IMPATOMEXPORT
extern const AtomType AT_H72;
218 IMPATOMEXPORT
extern const AtomType AT_H73;
219 IMPATOMEXPORT
extern const AtomType AT_O1A;
220 IMPATOMEXPORT
extern const AtomType AT_O2A;
221 IMPATOMEXPORT
extern const AtomType AT_O3A;
222 IMPATOMEXPORT
extern const AtomType AT_O1B;
223 IMPATOMEXPORT
extern const AtomType AT_O2B;
224 IMPATOMEXPORT
extern const AtomType AT_O3B;
251 return setup_particle(p->get_model(),
260 return p->has_attribute(get_atom_type_key())
269 void set_atom_type(AtomType t);
279 double get_occupancy()
const {
280 if (!
get_particle()->has_attribute(get_occupancy_key())) {
287 void set_occupancy(
double occupancy) {
288 if (!
get_particle()->has_attribute(get_occupancy_key())) {
289 get_particle()->add_attribute(get_occupancy_key(),occupancy);
291 get_particle()->set_value(get_occupancy_key(),occupancy);
295 double get_temperature_factor()
const {
296 if (!
get_particle()->has_attribute(get_temperature_factor_key())) {
299 return get_particle()->get_value(get_temperature_factor_key());
303 void set_temperature_factor(
double tempFactor) {
304 if (!
get_particle()->has_attribute(get_temperature_factor_key())) {
305 get_particle()->add_attribute(get_temperature_factor_key(),tempFactor);
307 get_particle()->set_value(get_temperature_factor_key(),tempFactor);
327 static IntKey get_atom_type_key();
329 static IntKey get_element_key();
331 static IntKey get_input_index_key();
333 static FloatKey get_occupancy_key();
335 static FloatKey get_temperature_factor_key();
356 IMPATOMEXPORT Residue
get_residue(Atom d,
bool nothrow=
false);
364 IMPATOMEXPORT Atom
get_atom(Residue rd, AtomType at);
377 IMPATOMEXPORT
Element get_element_for_atom_type(AtomType at);
382 IMPATOM_END_NAMESPACE