10 default_attribute_visibility protected default_relation_visibility protected default_operation_visibility public
11 //class diagram settings
12 draw_all_relations yes hide_attributes no hide_operations no show_members_full_definition yes show_members_visibility yes show_members_stereotype no show_parameter_dir yes show_parameter_name yes package_name_in_tab yes class_drawing_mode class drawing_language c++ show_context_mode namespace auto_label_position yes show_infonote no shadow yes
13 //use case diagram settings
14 package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
15 //sequence diagram settings
16 show_full_operations_definition no write_horizontally yes class_drawing_mode natural drawing_language c++ draw_all_relations yes shadow yes
17 //collaboration diagram settings
18 show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language c++ package_name_in_tab no show_context no draw_all_relations yes shadow yes
19 //object diagram settings
20 write_horizontally yes package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
21 //component diagram settings
22 package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
23 draw_component_as_icon no show_component_req_prov no show_component_rea no
24 //deployment diagram settings
25 package_name_in_tab no show_context no write_horizontally yes auto_label_position yes draw_all_relations yes shadow yes
26 draw_component_as_icon no show_component_req_prov no show_component_rea no
27 //state diagram settings
28 package_name_in_tab no show_context no auto_label_position yes write_trans_label_horizontally yes show_trans_definition no draw_all_relations yes shadow yes
29 show_activities yes region_horizontally yes drawing_language uml
30 //activity diagram settings
31 package_name_in_tab no show_context no show_opaque_action_definition no auto_label_position yes write_flow_label_horizontally no draw_all_relations yes shadow yes
32 show_infonote yes drawing_language c++
34 class_color yellow duration_color transparent continuation_color gray note_color blue fragment_color transparent subject_color transparent usecase_color yellow package_color transparent component_color green artifact_color green deploymentnode_color gray state_color yellow stateaction_color transparent activity_color transparent activityregion_color transparent activityaction_color transparent parameterpin_color white
40 cpp_h_dir "include/hkl/"
43 package_ref 134018 // std
45 classview 128117 "class view hkl"
46 //class diagram settings
47 draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
48 //collaboration diagram settings
49 show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
50 //object diagram settings
51 write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
52 //sequence diagram settings
53 show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
54 //state diagram settings
55 package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
56 show_activities default region_horizontally default drawing_language default
58 //activity diagram settings
59 package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
60 show_infonote default drawing_language default
62 associated_deployment_view deploymentview_ref 128060 // Deployment hkl
64 @the base class of the hkl library"
65 classdiagram 128188 "Diagram_1"
66 draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
70 classdiagram 128002 "Diagram_2"
71 draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
78 classdiagram 128130 "Diagram_3"
79 draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
84 classdiagram 128898 "Diagram_4"
85 draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
90 classdiagram 129922 "Diagram_5"
91 draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
92 comment "Diffractometer"
96 classdiagram 131458 "Diagram_6"
97 draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
102 classdiagram 132738 "Diagram_7"
103 draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
108 class 142466 "Affinement"
109 abstract visibility package
110 cpp_decl "${description}${template}class ${name}${inherit} {
116 explicit_switch_type ""
118 classrelation 152450 // <generalisation>
119 relation 152066 ---|>
121 cpp default "${type}"
122 classrelation_ref 152450 // <generalisation>
123 b multiplicity "" parent class_ref 129410 // Object
126 attribute 142850 "_nb_max_iterations"
127 protected explicit_type "uint"
128 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
132 get_oper operation_ref 221570 // get_nb_max_iterations
133 set_oper operation_ref 221698 // set_nb_max_iterations
136 attribute 142978 "_nb_iterations"
137 protected explicit_type "uint"
138 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
142 get_oper operation_ref 221826 // get_nb_iterations
143 set_oper operation_ref 221954 // set_nb_iterations
146 attribute 143106 "_fitness"
147 protected explicit_type "double"
148 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
152 get_oper operation_ref 222082 // get_fitness
153 set_oper operation_ref 222210 // set_fitness
156 operation 221186 "Affinement"
157 public explicit_return_type ""
159 param in name "name" type class_ref 129026 // string
160 param in name "description" type class_ref 129026 // string
161 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
163 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw} :
164 Object(name, description),
165 _nb_max_iterations(2500),
174 * @brief the default constructor protected because the class is abstrait
175 * @param ${p0} The name of the ${class}.
176 * @param ${p1} The description of the ${class}.
181 operation 221314 "~Affinement"
182 cpp_virtual public explicit_return_type ""
184 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
186 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
194 operation 221442 "fit"
195 abstract cpp_virtual public explicit_return_type "void"
197 param inout name "fitParameterList" type class_ref 131330 // FitParameterList
199 exception class_ref 128182 // HKLException
200 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
205 * @brief fit the parameter of an objects
206 * @param ${p0} The ${t0} to fit.
208 * this function modify the object.
213 operation 221570 "get_nb_max_iterations"
214 const cpp_inline public explicit_return_type "uint"
216 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} ${name}${(}${)}${const}${volatile}${throw};
218 cpp_def "${description}${inline}const ${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
220 return _nb_max_iterations;
223 cpp_name_spec "get${name}"
225 java_name_spec "get${name}"
227 idl_name_spec "get${name}"
228 get_of_attribute attribute_ref 142850 // _nb_max_iterations
231 operation 221698 "set_nb_max_iterations"
232 public explicit_return_type "void"
234 param in name "value" explicit_type "uint"
235 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${throw};
237 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
239 _nb_max_iterations = ${p0};
242 cpp_name_spec "set${name}"
244 java_name_spec "set${name}"
246 idl_name_spec "set${name}"
247 set_of_attribute attribute_ref 142850 // _nb_max_iterations
250 operation 221826 "get_nb_iterations"
251 const cpp_inline public explicit_return_type "uint"
253 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} ${name}${(}${)}${const}${volatile}${throw};
255 cpp_def "${description}${inline}const ${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
257 return _nb_iterations;
260 cpp_name_spec "get${name}"
262 java_name_spec "get${name}"
264 idl_name_spec "get${name}"
265 get_of_attribute attribute_ref 142978 // _nb_iterations
268 operation 221954 "set_nb_iterations"
269 public explicit_return_type "void"
271 param in name "value" explicit_type "uint"
272 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${throw};
274 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
276 _nb_iterations = ${p0};
279 cpp_name_spec "set${name}"
281 java_name_spec "set${name}"
283 idl_name_spec "set${name}"
284 set_of_attribute attribute_ref 142978 // _nb_iterations
287 operation 222082 "get_fitness"
288 const cpp_inline public explicit_return_type "double"
290 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} ${name}${(}${)}${const}${volatile}${throw};
292 cpp_def "${description}${inline}const ${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
297 cpp_name_spec "get${name}"
299 java_name_spec "get${name}"
301 idl_name_spec "get${name}"
302 get_of_attribute attribute_ref 143106 // _fitness
305 operation 222210 "set_fitness"
306 public explicit_return_type "void"
308 param in name "value" explicit_type "double"
309 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${throw};
311 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
316 cpp_name_spec "set${name}"
318 java_name_spec "set${name}"
320 idl_name_spec "set${name}"
321 set_of_attribute attribute_ref 143106 // _fitness
324 operation 222338 "printToStream"
325 const public return_type class_ref 152194 // ostream
327 param inout name "flux" type class_ref 152194 // ostream
328 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
330 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
337 * @brief print the ${class} into a flux
338 * @param ${p0} The stream to print into.
339 * @return The modified flux.
343 operation 222466 "toStream"
344 const public return_type class_ref 152194 // ostream
346 param inout name "flux" type class_ref 152194 // ostream
347 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
349 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
356 * @brief print on a stream the content of the ${class}
357 * @param flux the ostream to modify.
358 * @return the modified ostream
362 operation 222594 "fromStream"
363 public return_type class_ref 152322 // istream
365 param inout name "flux" type class_ref 152322 // istream
366 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
368 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
375 * @brief restore the content of the ${class} from an istream
376 * @param flux the istream.
377 * @return the modified istream.
378 * @todo problem of security here.
383 class 142978 "AffinementList"
385 cpp_decl "${description}${template}class ${name}${inherit} {
391 explicit_switch_type ""
393 classrelation 152962 // _current (<directional aggregation>)
395 a role_name "_current" multiplicity "1" protected
396 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
398 classrelation_ref 152962 // _current (<directional aggregation>)
399 b multiplicity "" parent class_ref 142466 // Affinement
402 classrelation 153090 // _affinements (<directional aggregation>)
405 a role_name "_affinements" multiplicity "*" protected
406 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
408 classrelation_ref 153090 // _affinements (<directional aggregation>)
409 b multiplicity "" parent class_ref 142466 // Affinement
412 class 143106 "iterator"
413 visibility package stereotype "typedef" explicit_base_type "std::vector<Affinement *>::iterator"
414 cpp_decl "${description}typedef ${type} ${name};
417 idl_decl "${comment}typedef ${type} ${name};
419 explicit_switch_type ""
423 class 143234 "const_iterator"
424 visibility package stereotype "typedef" explicit_base_type "std::vector<Affinement *>::const_iterator"
425 cpp_decl "${description}typedef ${type} ${name};
428 idl_decl "${comment}typedef ${type} ${name};
430 explicit_switch_type ""
434 operation 223362 "AffinementList"
435 public explicit_return_type ""
437 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
439 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
446 * @brief Default constructor of the ${class} class.
451 operation 223490 "~AffinementList"
452 cpp_virtual public explicit_return_type ""
454 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
456 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
463 * @brief The default destructor.
468 operation 223618 "add"
469 public return_type class_ref 142466 // Affinement
471 param in name "affinement" type class_ref 142466 // Affinement
472 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
474 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
481 * @brief Add a mode to the ${class}.
482 * @param ${p0} The ${t0} to add.
483 * @return NULL if the ${t0} can not be add or a Pointer on the added ${t0}
487 operation 223746 "erase"
488 public return_type class_ref 143106 // iterator
490 param inout name "pos" type class_ref 143106 // iterator
491 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
493 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
500 * @brief Remove a Mode from the ${class}.
501 * @param ${p0} The ${t0} position of the Sample.
502 * @throw HKLException If the sample is not present.
506 operation 223874 "clear"
507 public explicit_return_type "void"
509 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
511 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
518 * @brief Remove all sample from the SampleList.
522 operation 224002 "set_current"
523 public return_type class_ref 142466 // Affinement
525 param in name "name" type class_ref 129026 // string
526 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
528 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
535 * @brief Set the nth Mode as the current Mode.
536 * @param ${p0} The name of the Mode to set as current.
537 * @return NULL if the mode is not present in the list but do not change the _current.
541 operation 224130 "get_current"
542 const public return_type class_ref 142466 // Affinement
544 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
546 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
553 * @brief Get the current Mode
554 * @return A pointer on the current Mode.
558 operation 224258 "current"
559 public return_type class_ref 142466 // Affinement
561 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
563 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
570 * @brief Get the current sample
571 * @return A pointer on the current sample.
575 operation 224386 "get_names"
576 const public explicit_return_type "std::vector<std::string>"
578 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
580 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
587 * @brief Return the names of all samples.
592 operation 224514 "size"
593 const public explicit_return_type "uint"
595 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
597 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
605 operation 224642 "operator[]"
606 public return_type class_ref 142466 // Affinement
608 param in name "name" type class_ref 129026 // string
609 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
611 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
618 * @return the Mode * named
619 * @param ${p0} The name of the Mode we are looking for in the ${class}.
620 * @return The mode or NULL if the mode is not present in the ${class}.
624 operation 224770 "begin"
625 public return_type class_ref 143106 // iterator
627 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
629 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
636 * @brief Get an iterator on the first element of ReflectionList.
637 * @return The iterator.
642 operation 224898 "end"
643 public return_type class_ref 143106 // iterator
645 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
647 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
654 * @brief Get an iterator on the end of ReflectionList.
655 * @return The iterator.
660 operation 225026 "begin"
661 const public return_type class_ref 143234 // const_iterator
663 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
665 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
672 * @brief Get an iterator on the first element of ReflectionList.
673 * @return The iterator.
678 operation 225154 "end"
679 const public return_type class_ref 143234 // const_iterator
681 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
683 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
690 * @brief Get an iterator on the end of ReflectionList.
691 * @return The iterator.
696 operation 225282 "operator=="
697 const public explicit_return_type "bool"
699 param in name "affinementList" type class_ref 142978 // AffinementList
700 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
702 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
709 * \\brief Are two ${class} equals ?
710 * \\param ${p0} the ${t0} to compare with.
711 * \\return true if both are equals flase otherwise.
715 operation 225410 "printToStream"
716 const public return_type class_ref 152194 // ostream
718 param inout name "flux" type class_ref 152194 // ostream
719 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
721 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
728 * @brief print the ${class} into a flux
729 * @param ${p0} The stream to print into.
730 * @return The modified flux.
734 operation 225538 "toStream"
735 const public return_type class_ref 152194 // ostream
737 param inout name "flux" type class_ref 152194 // ostream
738 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
740 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
747 * @brief print on a stream the content of the ${class}
748 * @param flux the ostream to modify.
749 * @return the modified ostream
753 operation 225666 "fromStream"
754 public return_type class_ref 152322 // istream
756 param inout name "flux" type class_ref 152322 // istream
757 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
759 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
766 * @brief restore the content of the ${class} from an istream
767 * @param flux the istream.
768 * @return the modified istream.
769 * @todo problem of security here.
775 abstract visibility package
776 cpp_decl "${comment}${template}class ${name}${inherit} {
782 explicit_switch_type ""
784 classrelation 178434 // <generalisation>
785 relation 176770 ---|>
787 cpp default "${type}"
788 classrelation_ref 178434 // <generalisation>
789 b multiplicity "" parent class_ref 130178 // FitParameter
792 classrelation 164482 // <generalisation>
793 relation 163842 ---|>
795 cpp default "${type}"
796 classrelation_ref 164482 // <generalisation>
797 b multiplicity "" parent class_ref 129666 // Observable
800 operation 234114 "Axe"
801 stereotype "constructor"
802 public explicit_return_type ""
804 param in name "name" type class_ref 129026 // string
805 param in name "description" type class_ref 129026 // string
806 param in name "min" type class_ref 128060 // Value
807 param in name "current" type class_ref 128060 // Value
808 param in name "max" type class_ref 128060 // Value
810 exception class_ref 128182 // HKLException
811 cpp_decl " ${comment}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}${)}${volatile}${throw};
813 cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}${)}${volatile}${throw} :
814 hkl::FitParameter(${p0}, ${p1}, ${p2}, ${p3}, ${p4}, true, hkl::constant::math::epsilon)
820 comment "@brief constructor
821 @param ${p0} The name of the ${class}.
822 @param ${p1} The description of the ${class}.
823 @param ${p2} The minimum part of the ${class}.
824 @param ${p3} The ${p3} ${t3} of the ${class}.
825 @param ${p4} The maximum ${t4} of the ${class}.
829 operation 235650 "~Axe"
830 stereotype "destructor"
831 cpp_virtual public explicit_return_type ""
833 cpp_decl " ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
835 cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw}
843 operation 252802 "get_type"
844 abstract const cpp_virtual public return_type class_ref 151042 // AxeType
846 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
852 operation 255874 "set_min"
853 cpp_virtual cpp_inline public explicit_return_type "void"
855 param in name "value" type class_ref 128060 // Value
856 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
858 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
866 operation 255746 "set_current"
867 cpp_virtual cpp_inline public explicit_return_type "void"
869 param in name "value" type class_ref 128060 // Value
870 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
872 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
880 operation 260098 "set_consign"
881 cpp_virtual cpp_inline public explicit_return_type "void"
883 param in name "value" type class_ref 128060 // Value
884 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
886 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
894 operation 256002 "set_max"
895 cpp_virtual cpp_inline public explicit_return_type "void"
897 param in name "value" type class_ref 128060 // Value
898 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
900 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
908 operation 235522 "clone"
909 abstract const cpp_virtual public return_type class_ref 145282 // Axe
911 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
917 operation 245378 "apply"
918 abstract cpp_virtual public return_type class_ref 128770 // Quaternion
920 param inout name "q" type class_ref 128770 // Quaternion
921 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
925 comment "@brief Applie to a ${t0}, the ${class}.
926 @return The modified ${t0}"
929 operation 260226 "apply_consign"
930 abstract cpp_virtual public return_type class_ref 128770 // Quaternion
932 param inout name "q" type class_ref 128770 // Quaternion
933 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
937 comment "@brief Applie to a ${t0}, the ${class}.
938 @return The modified ${t0}"
941 operation 245762 "get_distance"
942 abstract const cpp_virtual public explicit_return_type "double"
944 param in name "axe" type class_ref 145282 // Axe
946 exception class_ref 128182 // HKLException
947 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
951 comment "@brief Compute the read distance between two ${class}.
952 @param ${p0} The ${t0} to compute the distance from.
953 @return The distance between the two ${class}."
956 operation 260354 "get_distance_consign"
957 abstract const cpp_virtual public explicit_return_type "double"
959 param in name "axe" type class_ref 145282 // Axe
961 exception class_ref 128182 // HKLException
962 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
966 comment "@brief Compute the read distance between two ${class}.
967 @param ${p0} The ${t0} to compute the distance from.
968 @return The distance between the two ${class}."
971 operation 236162 "printToStream"
972 const cpp_virtual public return_type class_ref 152194 // ostream
974 param inout name "flux" type class_ref 152194 // ostream
975 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
977 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
984 * @brief print the ${class} into a flux
985 * @param ${p0} The stream to print into.
986 * @return The modified flux.
990 operation 236034 "toStream"
991 const cpp_virtual public return_type class_ref 152194 // ostream
993 param inout name "flux" type class_ref 152194 // ostream
994 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
996 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1003 * @brief print on a stream the content of the ${class}
1004 * @param flux the ostream to modify.
1005 * @return the modified ostream
1009 operation 235906 "fromStream"
1010 cpp_virtual public return_type class_ref 152322 // istream
1012 param inout name "flux" type class_ref 152322 // istream
1013 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1015 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1022 * @brief restore the content of the ${class} from an istream
1023 * @param flux the istream.
1024 * @return the modified istream.
1025 * @todo problem of security here.
1030 class 150914 "AxeFactory"
1032 cpp_decl "${description}${template}class ${name}${inherit} {
1038 explicit_switch_type ""
1040 operation 252674 "create"
1041 class_operation package return_type class_ref 145282 // Axe
1043 param in name "type" type class_ref 151042 // AxeType
1044 param in name "name" type class_ref 129026 // string
1046 exception class_ref 128182 // HKLException
1047 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${abstract};
1049 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}
1055 comment "@brief Create a new reflection.
1056 @param ${p0} The type of the Axe to create.
1057 @param ${p1} The name of the Axe to add.
1058 @return The created Reflection.
1060 This method is only use in the holderList fromStream Method.
1064 classrelation 177154 // <dependency>
1065 relation 175490 -_->
1067 cpp default "#include in header"
1068 classrelation_ref 177154 // <dependency>
1069 b multiplicity "" parent class_ref 130050 // Rotation
1073 class 145410 "AxeList"
1075 cpp_decl "${comment}${template}class ${name}${inherit} {
1081 explicit_switch_type ""
1083 comment "@todo use a factory to create the different axes."
1084 classrelation 165890 // axes (<directional aggregation>)
1085 relation 165250 o-->
1087 a role_name "axes" multiplicity "*" protected
1088 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> _${name}${value};
1090 classrelation_ref 165890 // axes (<directional aggregation>)
1091 b multiplicity "" parent class_ref 145282 // Axe
1094 class 145538 "iterator"
1095 visibility public stereotype "typedef" explicit_base_type "std::vector<hkl::Axe *>::iterator"
1096 cpp_decl "${description}typedef ${type} ${name};
1099 idl_decl "${comment}typedef ${type} ${name};
1101 explicit_switch_type ""
1105 class 145666 "const_iterator"
1106 visibility public stereotype "typedef" explicit_base_type "std::vector<hkl::Axe *>::const_iterator"
1107 cpp_decl "${description}typedef ${type} ${name};
1110 idl_decl "${comment}typedef ${type} ${name};
1112 explicit_switch_type ""
1116 operation 237954 "push_back"
1117 public explicit_return_type "void"
1119 param inout name "axe" type class_ref 145282 // Axe
1120 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
1122 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
1128 comment "@brief Add an ${t0} to the ${class}.
1129 @param ${p0} The added ${t0}.
1133 operation 254338 "has_axe"
1134 const public explicit_return_type "bool"
1136 param in name "name" type class_ref 129026 // string
1137 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1139 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1145 comment "@brief Check if an axe with the name ${name} is already in the ${class}
1146 @param ${p0} The ${t0} with the name of the axe to check for.
1147 @return true if the axe is already present in the Axe"
1150 operation 238210 "size"
1151 const public explicit_return_type "uint"
1153 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1155 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1161 comment "@return The number of axe in the ${class}.
1165 operation 248962 "get_distance"
1166 const public explicit_return_type "double"
1168 param in name "axeList" type class_ref 145410 // AxeList
1169 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1171 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1177 comment "@brief compute the distance between two AxeList.
1178 @param ${p0} The ${t0} to compare with.
1179 @return the distance."
1182 operation 262146 "get_distance_consign"
1183 const public explicit_return_type "double"
1185 param in name "axeList" type class_ref 145410 // AxeList
1186 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1188 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1194 comment "@brief compute the distance between two AxeList.
1195 @param ${p0} The ${t0} to compare with.
1196 @return the distance."
1199 operation 238466 "operator[]"
1200 public explicit_return_type "Axe"
1202 param in name "name" type class_ref 129026 // string
1204 exception class_ref 128182 // HKLException
1205 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1207 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1213 comment "@brief Return the axe named.
1214 @param name of the returned Reflection.
1215 @throw HKLException if the Axe is not in the ${class}.
1220 operation 242178 "operator[]"
1221 const public explicit_return_type "Axe"
1223 param in name "name" type class_ref 129026 // string
1225 exception class_ref 128182 // HKLException
1226 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1228 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1234 comment "@brief Return the axe named.
1235 @param name of the returned Reflection.
1236 @throw HKLException if the Axe is not in the ${class}.
1241 operation 241794 "operator[]"
1242 public explicit_return_type "Axe"
1244 param in name "idx" explicit_type "uint"
1246 exception class_ref 128182 // HKLException
1247 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1249 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1255 comment "@brief Return the axe named.
1256 @param ${p0} of the returned Reflection.
1257 @throw HKLException if the Axe is not in the ${class}.
1262 operation 241922 "operator[]"
1263 const public explicit_return_type "Axe"
1265 param in name "idx" explicit_type "uint"
1267 exception class_ref 128182 // HKLException
1268 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1270 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1276 comment "@brief Return the axe named.
1277 @param ${p0} of the returned Reflection.
1278 @throw HKLException if the Axe is not in the ${class}.
1283 operation 238594 "begin"
1284 public return_type class_ref 145538 // iterator
1286 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1288 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1294 comment "@brief Get an iterator on the first element of ${class}.
1295 @return The iterator.
1299 operation 238722 "end"
1300 public return_type class_ref 145538 // iterator
1302 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1304 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1310 comment "@brief Get an iterator on the end of ${class}.
1311 @return The iterator.
1315 operation 239618 "begin"
1316 const public return_type class_ref 145666 // const_iterator
1318 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1320 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1326 comment "@brief Get an const_iterator on the first element of ${class}.
1327 @return The iterator.
1331 operation 239746 "end"
1332 const public return_type class_ref 145666 // const_iterator
1334 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1336 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1342 comment "@brief Get an const_iterator on the end of ${class}.
1343 @return The iterator.
1347 operation 253186 "clear"
1348 public explicit_return_type "void"
1350 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1352 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1360 operation 238850 "operator=="
1361 const public explicit_return_type "bool"
1363 param in name "axeList" type class_ref 145410 // AxeList
1364 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1366 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1372 comment "@brief Are two ${class} equals ?
1373 @param ${p0} the ${t0} to compare with.
1374 @return true if both are equals false otherwise.
1378 operation 238978 "printToStream"
1379 const public return_type class_ref 152194 // ostream
1381 param inout name "flux" type class_ref 152194 // ostream
1382 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1384 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1390 comment "@brief print the ${class} into a flux
1391 @param ${p0} The stream to print into.
1392 @return The modified flux.
1396 operation 239106 "toStream"
1397 const public return_type class_ref 152194 // ostream
1399 param inout name "flux" type class_ref 152194 // ostream
1400 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1402 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1408 comment "@brief print on a stream the content of the ${class}
1409 @param flux the ostream to modify.
1410 @return the modified ostream
1414 operation 239234 "fromStream"
1415 public return_type class_ref 152322 // istream
1417 param inout name "flux" type class_ref 152322 // istream
1418 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1420 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
1426 comment "@brief restore the content of the ${class} from an istream
1427 @param flux the istream.
1428 @return the modified istream.
1429 @todo problem of security here.
1434 class 151042 "AxeType"
1435 visibility package stereotype "enum"
1436 cpp_decl "${description}enum ${name} {
1439 java_decl "${comment}${@}${public}${final}${abstract}enum ${name}${implements} {
1443 idl_decl "${comment}enum ${name} {
1446 explicit_switch_type ""
1448 attribute 148226 "AXE_ROTATION"
1449 public explicit_type ""
1450 cpp_decl " ${name}${value},${comment}"
1456 class 128130 "constant"
1458 cpp_decl "${description}${template}class ${name}${inherit} {
1464 explicit_switch_type ""
1468 cpp_decl "${description}${template}class ${name}${inherit} {
1475 explicit_switch_type ""
1477 attribute 128386 "epsilon"
1478 class_attribute package explicit_type "double"
1480 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
1486 attribute 130306 "tiny"
1487 class_attribute package explicit_type "double"
1489 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
1495 attribute 129666 "precision"
1496 class_attribute package explicit_type "int"
1498 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
1504 attribute 130050 "pi"
1505 class_attribute package explicit_type "double"
1506 init_value "= 3.14159265358979323846"
1507 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
1513 attribute 129794 "degToRad"
1514 class_attribute package explicit_type "double"
1515 init_value "= 0.01745329251994330"
1516 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
1522 attribute 129922 "radToDeg"
1523 class_attribute package explicit_type "double"
1524 init_value "= 57.2957795130823208"
1525 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
1531 extra_member 128002 "eulerian_to_kappa"
1534 " "inline void eulerian_to_kappa(double const & omega, double const & chi, double const & phi, double const & alpha, double & komega, double & kappa, double & kphi, bool solution = SOLUTION) throw (HKLException)
1536 if (chi < alpha * 2)
1538 double p = asin(tan(chi/2.)/tan(alpha));
1542 komega = omega - p + hkl::constant::math::pi/2.;
1543 if (komega > hkl::constant::math::pi + hkl::constant::math::epsilon)
1544 komega -= 2 * hkl::constant::math::pi;
1545 kappa = 2 * asin(sin(chi/2.)/sin(alpha));
1546 kphi = phi - p - hkl::constant::math::pi/2.;
1547 if (kphi < -hkl::constant::math::pi - hkl::constant::math::epsilon)
1548 kphi += 2 * hkl::constant::math::pi;
1552 komega = omega + p - hkl::constant::math::pi/2.;
1553 if (komega < -hkl::constant::math::pi - hkl::constant::math::epsilon)
1554 komega += 2 * hkl::constant::math::pi;
1555 kappa = -2 * asin(sin(chi/2.)/sin(alpha));
1556 kphi = phi + p + hkl::constant::math::pi/2.;
1557 if (kphi > hkl::constant::math::pi + hkl::constant::math::epsilon)
1558 kphi -= 2 * hkl::constant::math::pi;
1561 std::cout << \"omega, chi, phi -> komega, kappa, kphi : (\"
1562 << omega * constant::math::radToDeg << \", \"
1563 << chi * hkl::constant::math::radToDeg << \", \"
1564 << phi * hkl::constant::math::radToDeg << \"), (\"
1565 << komega * constant::math::radToDeg << \", \"
1566 << kappa * hkl::constant::math::radToDeg << \", \"
1567 << kphi * hkl::constant::math::radToDeg << \")\" << std::endl;
1571 HKLEXCEPTION(\"Can not set such a Chi value\", \"must be < 2 * alpha.\");
1576 comment "@brief Compute the eulerian -> kappa angle conversion"
1579 extra_member 128130 "kappa_to_eulerian"
1581 cpp "" "inline void kappa_to_eulerian(double const & komega, double const & kappa, double const & kphi, double const & alpha, double & omega, double & chi, double & phi, bool solution = SOLUTION)
1583 double p = atan(tan(kappa/2.) * cos(alpha));
1587 omega = komega + p - constant::math::pi/2.;
1588 if (omega < -hkl::constant::math::pi - hkl::constant::math::epsilon)
1589 omega += 2 * hkl::constant::math::pi;
1591 chi = 2 * asin(sin(kappa/2.) * sin(alpha));
1593 phi = kphi + p + constant::math::pi/2.;
1594 if (phi > hkl::constant::math::pi + hkl::constant::math::epsilon)
1595 phi -= 2 * hkl::constant::math::pi;
1599 omega = komega + p + constant::math::pi/2.;
1600 if (omega > hkl::constant::math::pi + hkl::constant::math::epsilon)
1601 omega -= 2 * hkl::constant::math::pi;
1603 chi = -2 * asin(sin(kappa/2.) * sin(alpha));
1604 phi = kphi + p - constant::math::pi/2.;
1605 if (phi < -hkl::constant::math::pi - hkl::constant::math::epsilon)
1606 phi += 2 * hkl::constant::math::pi;
1609 std::cout << \"komega, kappa, kphi -> omega, chi, phi : (\"
1610 << komega * constant::math::radToDeg << \", \"
1611 << kappa * constant::math::radToDeg << \", \"
1612 << kphi * constant::math::radToDeg << \"), (\"
1613 << omega * constant::math::radToDeg << \", \"
1614 << chi * hkl::constant::math::radToDeg << \", \"
1615 << phi * hkl::constant::math::radToDeg << \")\" << std::endl;
1621 comment "@brief Compute the eulerian -> kappa angle conversion"
1624 classrelation 178562 // <dependency>
1625 relation 176898 -_->
1627 cpp default "#include in header"
1628 classrelation_ref 178562 // <dependency>
1629 b multiplicity "" parent class_ref 128182 // HKLException
1633 class 128386 "physic"
1635 cpp_decl "${description}${template}class ${name}${inherit} {
1641 explicit_switch_type ""
1643 attribute 130178 "tau"
1644 class_attribute package explicit_type "double"
1645 init_value "= 2 * 3.14159265358979323846"
1646 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
1654 class 143362 "Diffractometer"
1656 cpp_decl "${description}${template}class ${name}${inherit} {
1662 explicit_switch_type ""
1668 * L'objectif de cette librairie est de mêtre à disposition l'ensemble des outils permettant de piloter
1669 * un diffractomètre. L'ensemble des calcules présents dans cette librairie sont basés sur une équation
1672 * @ref Diffractometer
1674 * @ref Diffractometer_eulerian_4C
1676 * @ref Diffractometer_eulerian_6C
1678 * @ref Diffractometer_kappa_4C
1682 * @page Diffractometer Généralité.
1684 * \\section Equation_fondamentales Equations fondamentales
1686 * Le problème que nous devons résoudre est de calculer pour une famille de plan (h,k,l) donné,
1687 * les angles de rotation du diffractomètre qui permettent de le mettre en condition de diffraction.
1688 * Il faut donc exprimer les relations mathématiques qui lient les différents angles entre eux lorsque
1689 * la condition de Bragg est vérifiée. L'équation fondamentale est la suivante:
1691 * \\left( \\prod_i S_i \\right) \\cdot U \\cdot B \\cdot \\vec{h} = \\left( \\prod_i D_i - I \\right)
1694 * R \\cdot U \\cdot B \\cdot \\vec{h} = \\vec{Q}
1696 * où \\f$ \\vec{h} \\f$ est le vecteur (h,k,l) , \\f$ \\vec{k_i} \\f$ est le vecteur incident, \\f$ S_i \\f$ les
1697 * matrices de rotations des mouvements liés à l'échantillon, \\f$ D_j \\f$ les matrices de rotation
1698 * des mouvements liés au détecteur,
1699 * \\a I la matrice identité, \\a U la matrice d'orientation du cristal par rapport au repère de l'axe
1700 * sur lequel ce dernier est monté et \\a B la matrice de passage d'un repère non orthonormé
1701 * (celui du crystal réciproque) à un repère orthonormé.
1703 * L'équation fondamentale nous permet d'écrire:
1705 * U \\cdot B \\cdot \\vec{h} = \\tilde{R} \\cdot \\vec{Q}.
1708 * Cette équation est de 4 ou 6 inconnues pour seulement 3 équations.
1709 * Il faut donc imposer des contraintes pour résoudre ce système et ainsi orienter le diffractomètre.
1710 * Ces différentes contraintes définissent les modes de fonctionnement des diffractomètres.
1712 * \\section Calcule_de_B Calcule de B.
1714 * Si l'on connaît les paramètres cristallins du cristal étudié, il est très simple de calculer
1715 * cette matrice \\a B :
1719 * a^{*} & b^{*}\\cos\\gamma^{*} & c^{*}\\cos\\beta^{*} \\\\
1720 * 0 & b^{*}\\sin\\gamma^{*} & -c^{*} \\sin\\beta^{*} \\cos\\alpha \\\\
1726 * Le calcule de \\f$ a^\\star \\f$, \\f$ b^\\star \\f$ et \\f$ c^\\star \\f$
1727 * est obtenu de la façon suivante:
1729 * a^\\star & = & \\tau \\frac{\\sin\\alpha}{aD} \\\\
1730 * b^\\star & = & \\tau \\frac{\\sin\\beta}{bD} \\\\
1731 * c^\\star & = & \\tau \\frac{\\sin\\gamma}{cD}
1737 * D = \\sqrt{1 - \\cos^2\\alpha - \\cos^2\\beta - \\cos^2\\gamma + 2\\cos\\alpha \\cos\\beta \\cos\\gamma}
1740 * pour obtenir les angles \\f$ \\alpha^\\star \\f$, \\f$ \\beta^\\star \\f$ et \\f$ \\gamma^\\star \\f$,
1741 * on passe par le calcule des sinus et cosinus.
1743 * \\begin{array}{cc}
1744 * \\cos\\alpha^\\star = \\frac{\\cos\\beta \\cos\\gamma - \\cos\\alpha}{\\sin\\beta \\sin\\gamma}
1745 * & \\sin\\alpha^\\star = \\frac{D}{\\sin\\beta \\sin\\gamma} \\\\
1746 * \\cos\\beta^\\star = \\frac{\\cos\\gamma \\cos\\alpha - \\cos\\beta}{\\sin\\gamma \\sin\\alpha}
1747 * & \\sin\\beta^\\star = \\frac{D}{\\sin\\gamma \\sin\\alpha} \\\\
1748 * \\cos\\gamma^\\star = \\frac{\\cos\\alpha \\cos\\beta - \\cos\\gamma}{\\sin\\alpha \\sin\\beta}
1749 * & \\sin\\gamma^\\star = \\frac{D}{\\sin\\alpha \\sin\\beta} \\\\
1753 * \\section Calcule_de_U Calcule de U.
1755 * Il existe plusieurs façons de calculer \\a U. Busing et Levy en a proposé plusieurs.
1756 * Nous allons présenter celle qui nécessite la mesure de seulement deux réflections ainsi que la
1757 * connaissance des paramètres cristallins.
1758 * Cette façon de calculer la matrice d'orientation \\a U, peut être généralisée à n'importe quel
1759 * diffractomètre pour peu que la description des axes de rotation permette d'obtenir la matrice
1760 * de rotation de la machine \\a R et le vecteur de diffusion \\f$ \\vec{Q} \\f$.
1761 * Il est également possible de calculer \\a U sans la connaîssance des paramètres cristallins.
1762 * il faut alors faire un affinement des paramètres. Cela revient à minimiser une fonction.
1763 * Nous allons utiliser la méthode du simplex pour trouver ce minimum et ainsi ajuster l'ensemble
1764 * des paramètres cristallins ainsi que la matrice d'orientation.
1766 * \\subsection Algorithme_de_Busing_Levy Algorithme de Busing Levy.
1768 * L'idée est de se placer dans le repère de l'axe sur lequel est monté l'échantillon.
1769 * On mesure deux réflections \\f$ (\\vec{h}_1, \\vec{h}_2) \\f$ ainsi que leurs angles associés.
1770 * Cela nous permet de calculer \\a R et \\f$ \\vec{Q} \\f$ pour chacune de ces reflections.
1771 * Nous avons alors ce système:
1773 * U \\cdot B \\cdot \\vec{h}_1
1775 * De façon à calculer facilement \\a U, il est intéressant de définir deux trièdres orthonormé
1776 * \\f$ T_{\\vec{h}} \\f$ et \\f$ T_{\\vec{Q}} \\f$ Ã partir des vecteurs \\f$ (B \\cdot \\vec{h}_1, B \\cdot \\vec{h}_2) \\f$
1777 * et \\f$ (\\tilde{R}_1 \\cdot \\vec{Q}_1, \\tilde{R}_2 \\cdot \\vec{Q}_2) \\f$.
1778 * On a alors très simplement:
1780 * U \\cdot T_{\\vec{h}} = T_{\\vec{Q}}
1784 * U = T_{\\vec{Q}} \\cdot \\tilde{T}_{\\vec{h}}
1787 * \\subsection Affinement_par_la_methode_du_simplex Affinement par la méthode du simplex
1789 * Dans ce cas nous ne connaissons pas la matrice \\a B, il faut alors mesurer plus de
1790 * deux réflections afin d'ajuster les 9 paramètres.
1791 * Six paramètres pour le crystal et trois pour la matrice d'orientation \\a U.
1792 * Les trois paramètres qui permennt de representer \\a U sont en fait les angles d'euler.
1793 * Il est donc nécessaire de connaitre la représentation Eulérien de la matrice \\a U et réciproquement.
1795 * U = X \\cdot Y \\cdot Z
1797 * où \\a X est la matrice rotation suivant l'axe Ox et le premier angle d'Euler,
1798 * \\a Y la matrice de rotation suivant l'axe Oy et le deuxième angle d'Euler et \\a Z la matrice du troisième
1799 * angle d'Euler pour l'axe Oz.
1830 * BDE+AF & -BDF+AE & -BC \\\\
1831 * -ADE+BF & ADF+BE & AC
1836 classrelation 153218 // <generalisation>
1837 relation 152834 ---|>
1839 cpp default "${type}"
1840 classrelation_ref 153218 // <generalisation>
1841 b multiplicity "" parent class_ref 131202 // HKLObject
1844 classrelation 153346 // _geometry (<directional aggregation>)
1845 relation 152962 o-->
1846 a role_name "_geometry" multiplicity "1" protected
1847 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
1849 classrelation_ref 153346 // _geometry (<directional aggregation>)
1850 b multiplicity "" parent class_ref 131714 // Geometry
1851 get_oper operation_ref 226306 // geometry
1854 classrelation 153474 // _samples (<directional aggregation>)
1855 relation 153090 o-->
1856 a role_name "_samples" multiplicity "1" protected
1857 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
1859 classrelation_ref 153474 // _samples (<directional aggregation>)
1860 b multiplicity "" parent class_ref 134402 // SampleList
1861 get_oper operation_ref 226562 // samples
1864 classrelation 153602 // _modes (<directional aggregation by value>)
1865 relation 153218 *-->
1866 a role_name "_modes" multiplicity "1" protected
1867 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1869 classrelation_ref 153602 // _modes (<directional aggregation by value>)
1870 b multiplicity "" parent class_ref 139138 // ModeList
1871 get_oper operation_ref 226434 // modes
1874 classrelation 153730 // _pseudoAxeEngines (<directional aggregation by value>)
1875 relation 153346 *-->
1876 a role_name "_pseudoAxeEngines" multiplicity "1" protected
1877 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1879 classrelation_ref 153730 // _pseudoAxeEngines (<directional aggregation by value>)
1880 b multiplicity "" parent class_ref 135426 // PseudoAxeEngineList
1883 classrelation 153858 // _affinements (<directional aggregation by value>)
1884 relation 153474 *-->
1885 a role_name "_affinements" multiplicity "1" protected
1886 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1888 classrelation_ref 153858 // _affinements (<directional aggregation by value>)
1889 b multiplicity "" parent class_ref 142978 // AffinementList
1890 get_oper operation_ref 226818 // affinements
1893 operation 226050 "Diffractometer"
1894 public explicit_return_type ""
1896 param in name "name" type class_ref 129026 // string
1897 param in name "description" type class_ref 129026 // string
1898 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
1900 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw} :
1901 HKLObject(name, description)
1909 operation 226178 "~Diffractometer"
1910 cpp_virtual public explicit_return_type ""
1912 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
1914 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
1922 operation 226306 "geometry"
1923 cpp_inline public return_type class_ref 131714 // Geometry
1925 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw};
1927 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1932 cpp_name_spec "geometry"
1934 java_name_spec "get${name}"
1936 idl_name_spec "get${name}"
1937 get_of_relation classrelation_ref 153346 // _geometry (<directional aggregation>)
1940 operation 226562 "samples"
1941 cpp_inline public return_type class_ref 134402 // SampleList
1943 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw};
1945 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1950 cpp_name_spec "samples"
1952 java_name_spec "get${name}"
1954 idl_name_spec "get${name}"
1955 get_of_relation classrelation_ref 153474 // _samples (<directional aggregation>)
1958 operation 226434 "modes"
1959 cpp_inline public return_type class_ref 139138 // ModeList
1961 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw};
1963 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1968 cpp_name_spec "modes"
1970 java_name_spec "get${name}"
1972 idl_name_spec "get${name}"
1973 get_of_relation classrelation_ref 153602 // _modes (<directional aggregation by value>)
1976 operation 226690 "pseudoAxes"
1977 cpp_inline public return_type class_ref 135042 // PseudoAxeList
1979 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
1981 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
1988 * @brief Return the PseudoAxeList of the ${class}.
1989 * @return The PseudoAxeList of the ${class}.
1994 operation 226818 "affinements"
1995 cpp_inline public return_type class_ref 142978 // AffinementList
1997 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw};
1999 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2001 return _affinements;
2004 cpp_name_spec "affinements"
2006 java_name_spec "get${name}"
2008 idl_name_spec "get${name}"
2009 get_of_relation classrelation_ref 153858 // _affinements (<directional aggregation by value>)
2012 operation 226946 "operator=="
2013 const public explicit_return_type "bool"
2015 param in name "diffractometer" type class_ref 143362 // Diffractometer
2016 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2018 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2025 * \\brief Are two ${class} equals ?
2026 * \\param ${p0} the ${t0} to compare with.
2027 * \\return true if both are equals false otherwise.
2031 operation 227074 "printToStream"
2032 const public return_type class_ref 152194 // ostream
2034 param inout name "flux" type class_ref 152194 // ostream
2035 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2037 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2044 * @brief print the ${class} into a flux
2045 * @param ${p0} The stream to print into.
2046 * @return The modified flux.
2050 operation 227202 "toStream"
2051 const public return_type class_ref 152194 // ostream
2053 param inout name "flux" type class_ref 152194 // ostream
2054 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2056 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2063 * @brief print on a stream the content of the ${class}
2064 * @param flux the ostream to modify.
2065 * @return the modified ostream
2069 operation 227330 "fromStream"
2070 public return_type class_ref 152322 // istream
2072 param inout name "flux" type class_ref 152322 // istream
2073 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2075 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2082 * @brief restore the content of the ${class} from an istream
2083 * @param flux the istream.
2084 * @return the modified istream.
2085 * @todo problem of security here.
2090 classdiagram 131202 "Diagram35"
2091 draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
2092 comment "DiffractometerFactory"
2096 class 144386 "DiffractometerFactory"
2098 cpp_decl "${description}${template}class ${name}${inherit} {
2104 explicit_switch_type ""
2106 operation 228994 "DiffractometerFactory"
2107 public explicit_return_type ""
2109 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
2111 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
2119 operation 229122 "~DiffractometerFactory"
2120 cpp_virtual public explicit_return_type ""
2122 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
2124 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
2132 operation 229250 "create"
2133 public return_type class_ref 143362 // Diffractometer
2135 param in name "type" type class_ref 144514 // DiffractometerType
2136 param in name "parameter" explicit_type "double"
2137 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${abstract};
2139 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}
2146 * @brief Create a new reflection.
2147 * @param ${p0} The ${t0} of the Diffractometer to create.
2148 * @param ${p1} A ${t1} use to build the Diffractometer.
2149 * @return The created Diffractometer.
2151 * This parameter has no effect for an Eulerian diffractometer.
2152 * But correspond to the alpha angle of the Kappa Geometry for the Kappa diffractometers.
2157 classrelation 161410 // <dependency>
2158 relation 161026 -_->
2160 cpp default "#include in header"
2161 classrelation_ref 161410 // <dependency>
2162 b multiplicity "" parent class_ref 143618 // Diffractometer
2165 classrelation 161538 // <dependency>
2166 relation 161154 -_->
2168 cpp default "#include in header"
2169 classrelation_ref 161538 // <dependency>
2170 b multiplicity "" parent class_ref 143746 // Diffractometer
2173 classrelation 161666 // <dependency>
2174 relation 161282 -_->
2176 cpp default "#include in header"
2177 classrelation_ref 161666 // <dependency>
2178 b multiplicity "" parent class_ref 143874 // Diffractometer
2181 classrelation 161794 // <dependency>
2182 relation 161410 -_->
2184 cpp default "#include in header"
2185 classrelation_ref 161794 // <dependency>
2186 b multiplicity "" parent class_ref 144130 // Diffractometer
2189 classrelation 161922 // <dependency>
2190 relation 161538 -_->
2192 cpp default "#include in header"
2193 classrelation_ref 161922 // <dependency>
2194 b multiplicity "" parent class_ref 144258 // Diffractometer
2198 class 143490 "DiffractometerTemp"
2201 formal name "T" type "class" explicit_default_value ""
2203 cpp_decl "${description}${template}class ${name}${inherit} {
2209 explicit_switch_type ""
2211 classrelation 153986 // <generalisation>
2212 relation 153602 ---|>
2214 cpp default "${type}"
2215 classrelation_ref 153986 // <generalisation>
2216 b multiplicity "" parent class_ref 143362 // Diffractometer
2219 attribute 143234 "_geom_T"
2220 protected explicit_type "T"
2221 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} * ${name}${value};
2227 operation 227458 "DiffractometerTemp"
2228 public explicit_return_type ""
2230 param in name "name" type class_ref 129026 // string
2231 param in name "description" type class_ref 129026 // string
2232 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
2234 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw} :
2235 hkl::Diffractometer(name, description)
2243 operation 254466 "DiffractometerTemp"
2244 public explicit_return_type ""
2246 param in name "name" type class_ref 129026 // string
2247 param in name "description" type class_ref 129026 // string
2248 param in name "alpha" explicit_type "double"
2249 cpp_decl " ${comment}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} ${p2}${)}${volatile}${throw};
2251 cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} ${p2}${)}${volatile}${throw} :
2252 hkl::Diffractometer(name, description)
2260 operation 227586 "~DiffractometerTemp"
2261 cpp_virtual public explicit_return_type ""
2263 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
2265 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
2274 class 144514 "DiffractometerType"
2275 visibility package stereotype "enum"
2276 cpp_decl "${description}enum ${name} {
2279 java_decl "${comment}${@}${public}${final}${abstract}enum ${name}${implements} {
2283 idl_decl "${comment}enum ${name} {
2286 explicit_switch_type ""
2288 attribute 143362 "DIFFRACTOMETER_TWOC_VERTICAL"
2289 public explicit_type ""
2290 cpp_decl " ${name}${value},${comment}"
2295 attribute 143490 "DIFFRACTOMETER_EULERIAN4C_VERTICAL"
2296 public explicit_type ""
2297 cpp_decl " ${name}${value},${comment}"
2302 attribute 143618 "DIFFRACTOMETER_KAPPA4C_VERTICAL"
2303 public explicit_type ""
2304 cpp_decl " ${name}${value},${comment}"
2309 attribute 143746 "DIFFRACTOMETER_EULERIAN6C"
2310 public explicit_type ""
2311 cpp_decl " ${name}${value},${comment}"
2316 attribute 143874 "DIFFRACTOMETER_KAPPA6C"
2317 public explicit_type ""
2318 cpp_decl " ${name}${value},${comment}"
2324 class 128310 "Error"
2326 cpp_decl "${description}${template}class ${name}${inherit} {
2332 explicit_switch_type ""
2334 attribute 128211 "reason"
2335 public type class_ref 129026 // string
2336 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
2342 attribute 128339 "desc"
2343 public type class_ref 129026 // string
2344 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
2350 attribute 128467 "origin"
2351 public type class_ref 129026 // string
2352 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
2358 attribute 128595 "severity"
2359 public explicit_type "int"
2360 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
2366 operation 128339 "Error"
2367 public explicit_return_type ""
2369 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
2371 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
2372 reason (\"unknown\"),
2373 desc (\"unknown error\"),
2374 origin (\"unknown\"),
2383 operation 128467 "Error"
2384 public explicit_return_type ""
2386 param in name "_reason" explicit_type "char"
2387 param in name "_desc" explicit_type "char"
2388 param in name "_origin" explicit_type "char"
2389 param in name "_severity" explicit_type "int"
2390 cpp_decl " ${description}${inline}${name}${(}const ${t0} * ${p0}, const ${t1} * ${p1}, const ${t2} * ${p2}, ${t3} ${p3} = ERR${)}${volatile}${throw};
2392 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} * ${p0}, const ${t1} * ${p1}, const ${t2} * ${p2}, ${t3} ${p3}${)}${volatile}${throw} :
2396 severity (_severity)
2404 operation 128595 "Error"
2405 public explicit_return_type ""
2407 param in name "_reason" type class_ref 129026 // string
2408 param in name "_desc" type class_ref 129026 // string
2409 param in name "_origin" type class_ref 129026 // string
2410 param in name "_severity" explicit_type "int"
2411 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, ${t3} ${p3} = ERR${)}${volatile}${throw};
2413 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, ${t3} ${p3}${)}${volatile}${throw} :
2417 severity (_severity)
2425 operation 128723 "Error"
2426 public explicit_return_type ""
2428 param in name "error" type class_ref 128310 // Error
2429 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
2431 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
2432 reason (error.reason),
2434 origin (error.origin),
2435 severity (error.severity)
2443 operation 128851 "~Error"
2444 cpp_virtual public explicit_return_type ""
2446 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
2448 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
2456 operation 128979 "operator="
2457 public return_type class_ref 128310 // Error
2459 param in name "error" type class_ref 128310 // Error
2460 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2462 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2471 class 128211 "ErrorList"
2472 visibility package stereotype "typedef" base_type class_ref 146818 // vector
2474 actual class class_ref 146818 // vector
2475 rank 0 value class_ref 128310 // Error
2476 cpp_decl "${description}typedef ${type} ${name};
2479 idl_decl "${comment}typedef ${type} ${name};
2481 explicit_switch_type ""
2483 classrelation 168834 // <generalisation>
2484 relation 167682 ---|>
2486 cpp default "${type}"
2487 classrelation_ref 168834 // <generalisation>
2488 b multiplicity "" parent class_ref 146818 // vector
2492 class 128438 "ErrorSeverity"
2493 visibility package stereotype "enum"
2494 cpp_decl "${description}enum ${name} {
2497 java_decl "${comment}${@}${public}${final}${abstract}enum ${name}${implements} {
2501 idl_decl "${comment}enum ${name} {
2504 explicit_switch_type ""
2506 attribute 128054 "WARN"
2507 public explicit_type ""
2508 cpp_decl " ${name}${value},${comment}"
2513 attribute 128182 "ERR"
2514 public explicit_type ""
2515 cpp_decl " ${name}${value},${comment}"
2520 attribute 128310 "PANIC"
2521 public explicit_type ""
2522 cpp_decl " ${name}${value},${comment}"
2528 class 130178 "FitParameter"
2530 cpp_decl "${description}${template}class ${name}${inherit} {
2536 explicit_switch_type ""
2538 classrelation 130690 // <generalisation>
2539 relation 130434 ---|>
2541 cpp default "${type}"
2542 classrelation_ref 130690 // <generalisation>
2543 b multiplicity "" parent class_ref 129922 // Parameter
2546 operation 153346 "FitParameter"
2547 public explicit_return_type ""
2549 param in name "name" type class_ref 129026 // string
2550 param in name "description" type class_ref 129026 // string
2551 param in name "min" type class_ref 128060 // Value
2552 param in name "current" type class_ref 128060 // Value
2553 param in name "max" type class_ref 128060 // Value
2554 param in name "toFit" explicit_type "bool"
2555 param in name "precision" explicit_type "double"
2556 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}, ${t5} ${p5}, ${t6} ${p6}${)}${volatile}${throw};
2558 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}, ${t5} ${p5}, ${t6} ${p6}${)}${volatile}${throw} :
2559 Parameter(name, description, min, current, max),
2561 _precision(precision),
2569 * @brief Constructor
2570 * @param ${p0} of the ${class}.
2571 * @param ${p1} The description of the ${class}.
2572 * @param ${p2} the minimum of the ${class}.
2573 * @param ${p3} the current value of the ${class}.
2574 * @param ${p4} the maximum of the ${class}.
2575 * @param ${p5} is a fit parameter or not
2576 * @param ${p6} to fullfill for the fit.
2580 attribute 131458 "_flagFit"
2581 protected explicit_type "bool"
2582 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
2587 * @brief This flag is true if this ${class} must be fit.
2591 attribute 131586 "_precision"
2592 protected type class_ref 128060 // Value
2593 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
2598 * @brief The precision for the fit we expect on this ${class}.
2602 attribute 131714 "_chi2"
2603 protected type class_ref 128060 // Value
2604 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
2609 * @brief The \\f$\\chi^2\\f$ obtained after the fit.
2613 operation 153602 "get_flagFit"
2614 const public explicit_return_type "bool"
2616 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2618 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2625 * @brief Get the flag of the ${class} class.
2626 * @return The _flagFit bool member.
2630 operation 153730 "get_precision"
2631 const public return_type class_ref 128060 // Value
2633 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
2635 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2642 * @brief Get the precision of the ${class} class.
2643 * @return A constant Value ref on the _precision member.
2647 operation 153858 "get_chi2"
2648 const public return_type class_ref 128060 // Value
2650 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
2652 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2659 * @brief Get the _chi2 of the ${class} class.
2660 * @return A constant Value ref on the _chi2 member.
2664 operation 153986 "set_flagFit"
2665 public explicit_return_type "void"
2667 param in name "flagFit" explicit_type "bool"
2668 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${abstract};
2670 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
2677 * @brief Set the _flagFit member of the ${class} class.
2678 * @param flagFit The bool to set.
2682 operation 154114 "set_precision"
2683 public explicit_return_type "void"
2685 param in name "precision" type class_ref 128060 // Value
2686 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${abstract};
2688 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
2695 * @brief Set the _${p0} member of the ${class} class.
2696 * @param ${p0} The ${t0} to set.
2700 operation 154754 "set_chi2"
2701 public explicit_return_type "void"
2703 param in name "chi2" type class_ref 128060 // Value
2704 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${abstract};
2706 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
2713 * @brief Set the _${p0} member of the ${class} class.
2714 * @param ${p0} The ${t0} to set.
2718 operation 154882 "operator=="
2719 const public explicit_return_type "bool"
2721 param in name "fitParameter" type class_ref 130178 // FitParameter
2722 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2724 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2731 * \\brief Are two ${class} equals ?
2732 * \\param ${p0} the ${class} to compare with.
2733 * \\return The comparison of the two ${class}.
2737 operation 155010 "randomize"
2738 public explicit_return_type "void"
2740 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2742 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2749 * @brief shuffle the ${class}.
2753 operation 155138 "printToStream"
2754 const public return_type class_ref 152194 // ostream
2756 param inout name "flux" type class_ref 152194 // ostream
2757 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2759 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2766 * \\brief print the ${class} into a flux
2767 * \\param flux The stream to print into.
2771 operation 155266 "toStream"
2772 const public return_type class_ref 152194 // ostream
2774 param inout name "flux" type class_ref 152194 // ostream
2775 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2777 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2784 * \\brief Save the ${class} into a stream.
2785 * \\param flux the stream to save the ${class} into.
2786 * \\return The stream with the ${class}.
2790 operation 155394 "fromStream"
2791 public return_type class_ref 152322 // istream
2793 param inout name "flux" type class_ref 152322 // istream
2794 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2796 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2803 * \\brief Restore a ${class} from a stream.
2804 * \\param flux The stream containing the ${class} to restore.
2805 * @todo call update_observers or not ?
2810 class 131330 "FitParameterList"
2811 abstract visibility package
2812 cpp_decl "${description}${template}class ${name}${inherit} {
2818 explicit_switch_type ""
2820 classrelation 132482 // _parameters (<directional aggregation>)
2821 relation 132098 o-->
2823 a role_name "_parameters" multiplicity "*" protected
2824 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
2826 classrelation_ref 132482 // _parameters (<directional aggregation>)
2827 b multiplicity "" parent class_ref 130178 // FitParameter
2830 class 142722 "iterator"
2831 visibility package stereotype "typedef" explicit_base_type "std::vector<FitParameter *>::iterator"
2832 cpp_decl "${description}typedef ${type} ${name};
2835 idl_decl "${comment}typedef ${type} ${name};
2837 explicit_switch_type ""
2841 class 142850 "const_iterator"
2842 visibility package stereotype "typedef" explicit_base_type "std::vector<FitParameter *>::const_iterator"
2843 cpp_decl "${description}typedef ${type} ${name};
2846 idl_decl "${comment}typedef ${type} ${name};
2848 explicit_switch_type ""
2852 operation 213122 "~FitParameterList"
2853 cpp_virtual public explicit_return_type ""
2855 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
2857 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
2865 operation 160130 "size"
2866 const public explicit_return_type "uint"
2868 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2870 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2877 * @brief Get the size of the ${class}.
2878 * @return the number of element in the ${class}.
2882 operation 161410 "size_to_fit"
2883 const public explicit_return_type "uint"
2885 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2887 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2894 * @brief Get the number of Parameter to fit in the ${class}.
2895 * @return The number of Parameter with the fitFlag set to true.
2899 operation 160258 "operator[]"
2900 public return_type class_ref 130178 // FitParameter
2902 param in name "name" type class_ref 129026 // string
2904 exception class_ref 128182 // HKLException
2905 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2907 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
2914 * @return the ${t0} * named
2915 * @param ${p0} The name of the ${t0} we are looking for in the ${class}.
2916 * @return A ${t0} pointer.
2917 * @throw HKLException if the ${t0} is not present n the ${class}.
2921 operation 160386 "begin"
2922 public return_type class_ref 142722 // iterator
2924 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2926 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2933 * @brief Get an iterator on the first element of the ${class}.
2934 * @return The iterator.
2938 operation 160514 "end"
2939 public return_type class_ref 142722 // iterator
2941 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2943 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2950 * @brief Get an iterator on the end of the ${class}.
2951 * @return The iterator.
2955 operation 160642 "begin"
2956 const public return_type class_ref 142850 // const_iterator
2958 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2960 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2967 * @brief Get an const_iterator on the first element of the ${class}.
2968 * @return The const_iterator.
2972 operation 160770 "end"
2973 const public return_type class_ref 142850 // const_iterator
2975 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2977 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
2984 * @brief Get an const_iterator on the end of the ${class}.
2985 * @return The const_iterator.
2989 operation 161538 "ready_to_fit"
2990 abstract const cpp_virtual public explicit_return_type "bool"
2992 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2997 * @brief check if their is enought data to compute an affinement.
2998 * @return true if computation is possible.
3002 operation 161666 "randomize"
3003 abstract cpp_virtual public explicit_return_type "void"
3005 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3010 * @brief Randomize all the FitParameters in the ${class}.
3014 operation 161794 "fitness"
3015 abstract cpp_virtual public explicit_return_type "double"
3018 exception class_ref 128182 // HKLException
3019 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3024 * @brief Calculation of the fitness.
3025 * @return the fitness calculated from the fitParameters.
3026 * @throw HKLException if their is not enought data to perform the fitness calculus.
3030 operation 161922 "fitness"
3031 abstract cpp_virtual public explicit_return_type "bool"
3033 param inout name "fitness" explicit_type "double"
3034 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3039 * @brief Calculation of the fitness.
3040 * @param fitness A double use to store the fitness calculation.
3041 * @return True if the calculation if valid, false otherwise.
3043 * this method is use in the simplex Affinement method, and do not throw Exception if the compuation is not valid.
3047 operation 162050 "update"
3048 abstract cpp_virtual public explicit_return_type "void"
3050 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3055 * @brief update the fitparameterList.
3057 * The fitparameters can be changed from the fitParameterList but some
3058 * other members can depend of these Parameter. So after an update you
3059 * can be sure that the object is completly coherant.
3063 operation 162178 "operator=="
3064 const public explicit_return_type "bool"
3066 param in name "fitParameterList" type class_ref 131330 // FitParameterList
3067 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3069 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3076 * \\brief Are two ${class} equals ?
3077 * \\param ${p0} the ${t0} to compare with.
3082 operation 161026 "printToStream"
3083 const public return_type class_ref 152194 // ostream
3085 param inout name "flux" type class_ref 152194 // ostream
3086 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3088 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3095 * \\brief print the ${class} into a flux
3096 * \\param flux The stream to print into.
3100 operation 161154 "toStream"
3101 const public return_type class_ref 152194 // ostream
3103 param inout name "flux" type class_ref 152194 // ostream
3104 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3106 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3113 * \\brief Save the ${class} into a stream.
3114 * \\param flux the stream to save the ${class} into.
3115 * \\return The stream with the ${class}.
3119 operation 161282 "fromStream"
3120 public return_type class_ref 152322 // istream
3122 param inout name "flux" type class_ref 152322 // istream
3123 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3125 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3132 * \\brief Restore a ${class} from a stream.
3133 * \\param flux The stream containing the ${class} to restore.
3134 * @todo call update_observers or not ?
3139 class 131714 "Geometry"
3141 cpp_decl "${comment}${template}class ${name}${inherit} {
3147 explicit_switch_type ""
3149 classrelation 132994 // <generalisation>
3150 relation 132610 ---|>
3152 cpp default "${type}"
3153 classrelation_ref 132994 // <generalisation>
3154 b multiplicity "" parent class_ref 131202 // HKLObject
3157 attribute 133506 "source"
3158 protected type class_ref 131458 // Source
3159 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
3163 get_oper operation_ref 167938 // get_source
3166 classrelation 175490 // holders (<directional aggregation by value>)
3167 relation 174082 *-->
3168 a role_name "holders" multiplicity "1" protected
3169 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
3171 classrelation_ref 175490 // holders (<directional aggregation by value>)
3172 b multiplicity "" parent class_ref 149762 // HolderList
3175 classrelation 175618 // <dependency>
3176 relation 174210 -_->
3178 cpp default "#include in header"
3179 classrelation_ref 175618 // <dependency>
3180 b multiplicity "" parent class_ref 148482 // Holder
3183 operation 167426 "Geometry"
3184 stereotype "constructor"
3185 public explicit_return_type ""
3187 param in name "name" type class_ref 129026 // string
3188 param in name "description" type class_ref 129026 // string
3189 cpp_decl " ${comment}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
3191 cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw} :
3192 HKLObject(${p0}, ${p1})
3198 comment "@brief Create a new ${class}.
3199 @param ${p0} The name of the ${class}.
3200 @param ${p1} The description of the ${class}.
3204 operation 213250 "~Geometry"
3205 stereotype "destructor"
3206 cpp_virtual public explicit_return_type ""
3208 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
3210 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
3218 operation 167682 "Geometry"
3220 public explicit_return_type ""
3222 param in name "geometry" type class_ref 131714 // Geometry
3223 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
3225 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
3227 _source(${p0}._source),
3228 _holders(${p0}._holders)
3236 operation 167938 "get_source"
3237 const cpp_inline public return_type class_ref 131458 // Source
3239 cpp_decl " ${comment}${friend}${static}${inline}${virtual}const ${type} ${name}${(}${)}${const}${volatile}${throw};
3241 cpp_def "${comment}${inline}const ${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3246 cpp_name_spec "get_${name}"
3248 java_name_spec "get${name}"
3250 idl_name_spec "get${name}"
3251 get_of_attribute attribute_ref 133506 // source
3252 comment "@brief Get the Source store in the Diffractometer.
3253 @return A constant reference on the Source.
3257 operation 168066 "get_source"
3258 cpp_inline public return_type class_ref 131458 // Source
3260 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
3262 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3268 comment "@brief Get the Source store in the Diffractometer.
3269 @return A reference on the Source.
3273 operation 249730 "get_axes"
3274 const cpp_inline public return_type class_ref 145410 // AxeList
3276 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
3278 cpp_def "${comment}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3284 comment "@brief Get a constant reference on the axes stores in all holders.
3285 @return the AxeList"
3288 operation 249858 "axes"
3289 cpp_inline public return_type class_ref 145410 // AxeList
3291 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
3293 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3299 comment "@brief Get a constant reference on the axes stores in all holders.
3300 @return the AxeList"
3303 operation 168578 "get_axe"
3304 public explicit_return_type "Axe"
3306 param in name "name" type class_ref 129026 // string
3308 exception class_ref 128182 // HKLException
3309 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3311 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3317 comment "@brief Get the Axe named.
3318 @param name the name of the Axe we are looking for.
3319 @return An hkl::Axe pointer.
3320 @throw hkl::HKLException if the hkl::Axe does not exist.
3324 operation 239362 "get_axe"
3325 const public explicit_return_type "Axe"
3327 param in name "name" type class_ref 129026 // string
3329 exception class_ref 128182 // HKLException
3330 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3332 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3338 comment "@brief Get the Axe named.
3339 @param name the name of the Axe we are looking for.
3340 @return An hkl::Axe pointer.
3341 @throw hkl::HKLException if the hkl::Axe does not exist.
3345 operation 262402 "get_sample_quaternion"
3346 const public return_type class_ref 128770 // Quaternion
3348 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3350 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3357 * \\brief return the Rotatio matrix of the sample
3358 * \\return the quaternion corresponding to the state of the sample.
3362 operation 262530 "get_sample_quaternion_consign"
3363 const public return_type class_ref 128770 // Quaternion
3365 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3367 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3374 * \\brief return the Rotatio matrix of the sample
3375 * \\return the quaternion corresponding to the state of the sample.
3379 operation 262658 "get_sample_rotation_matrix"
3380 const public return_type class_ref 128514 // smatrix
3382 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3384 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3391 * \\brief return the Rotatio matrix of the sample.
3392 * \\return The rotation matrix
3394 * This method compute the rotation matrix by applying each Axe transformation from the m_samples svector.
3395 * So we can describe every diffractometer if we put the Axe in the right position into this svector
3399 operation 262786 "get_sample_rotation_matrix_consign"
3400 const public return_type class_ref 128514 // smatrix
3402 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3404 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3411 * \\brief return the Rotatio matrix of the sample.
3412 * \\return The rotation matrix
3414 * This method compute the rotation matrix by applying each Axe transformation from the m_samples svector.
3415 * So we can describe every diffractometer if we put the Axe in the right position into this svector
3419 operation 262914 "get_Q"
3420 const public return_type class_ref 128002 // svector
3422 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3424 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3431 * \\brief return the diffraction vector calculated from the detectors angles
3432 * \\return the Q svector
3436 operation 263042 "get_Q_consign"
3437 const public return_type class_ref 128002 // svector
3439 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3441 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3448 * \\brief return the diffraction vector calculated from the detectors angles
3449 * \\return the Q svector
3453 operation 263170 "get_kf"
3454 const public return_type class_ref 128002 // svector
3456 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3458 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3465 * \\brief return the diffraction vector calculated from the detectors angles
3466 * \\return the Q svector
3470 operation 263298 "get_kf_consign"
3471 const public return_type class_ref 128002 // svector
3473 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3475 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3482 * \\brief return the diffraction vector calculated from the detectors angles
3483 * \\return the Q svector
3487 operation 169858 "get_distance"
3488 const public explicit_return_type "double"
3490 param in name "geometry" type class_ref 131714 // Geometry
3492 exception class_ref 128182 // HKLException
3493 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3495 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3501 comment "@brief compute the distance between two ${class}
3502 @param ${p0} The ${t0} to compute the distance from.
3503 @return The distance between both ${class}"
3506 operation 262274 "get_distance_consign"
3507 const public explicit_return_type "double"
3509 param in name "geometry" type class_ref 131714 // Geometry
3511 exception class_ref 128182 // HKLException
3512 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3514 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3520 comment "@brief compute the distance between two ${class}
3521 @param ${p0} The ${t0} to compute the distance from.
3522 @return The distance between both ${class}"
3525 operation 169986 "computeHKL"
3526 public explicit_return_type "void"
3528 param out name "h" explicit_type "double"
3529 param out name "k" explicit_type "double"
3530 param out name "l" explicit_type "double"
3531 param in name "UB" type class_ref 128514 // smatrix
3533 exception class_ref 128182 // HKLException
3534 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}, ${t1} & ${p1}, ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${volatile}${throw}${abstract};
3536 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} & ${p0}, ${t1} & ${p1}, ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${volatile}${throw}${staticnl}
3543 * @brief Compute hkl for an UB matrix.
3544 * @param[out] h return the h parameter.
3545 * @param[out] k return the k parameter.
3546 * @param[out] l return the l parameter.
3547 * @param UB The UB matrix of a crystal.
3551 operation 170114 "setFromGeometry"
3552 cpp_virtual public explicit_return_type "void"
3554 param in name "geometry" type class_ref 131714 // Geometry
3555 param in name "strict" explicit_type "bool"
3557 exception class_ref 128182 // HKLException
3558 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${abstract};
3560 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}
3567 * @brief Set the geometry from an other one.
3568 * @param geometry The Geometry to set from.
3569 * @param strict true or false if the geometry conversion is strict or not.
3570 * @throw HKLException dependig of the geometry.
3571 * @todo voir comment rendre cette fonction purement virtuelle = 0.
3575 operation 264578 "operator=="
3576 const public explicit_return_type "bool"
3578 param in name "geometry" type class_ref 131714 // Geometry
3579 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3581 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3587 comment "@brief Are two ${class} equals ?
3588 @param ${p0} the ${t0} to compare with.
3589 @return true if both are equals flase otherwise.
3593 operation 170370 "printToStream"
3594 const public return_type class_ref 152194 // ostream
3596 param inout name "flux" type class_ref 152194 // ostream
3597 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3599 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3606 * @brief print the ${class} into a flux
3607 * @param ${p0} The stream to print into.
3608 * @return The modified flux.
3612 operation 170498 "toStream"
3613 const public return_type class_ref 152194 // ostream
3615 param inout name "flux" type class_ref 152194 // ostream
3616 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3618 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3624 comment "@brief print on a stream the content of the ${class}
3625 @param flux the ostream to modify.
3626 @return the modified ostream
3630 operation 170626 "fromStream"
3631 public return_type class_ref 152322 // istream
3633 param inout name "flux" type class_ref 152322 // istream
3634 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3636 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3642 comment "@brief restore the content of the ${class} from an istream
3643 @param flux the istream.
3644 @return the modified istream.
3645 @todo problem of security here.
3650 class 128182 "HKLException"
3651 visibility package stereotype "exception"
3652 cpp_decl "${description}${template}class ${name}${inherit} {
3657 idl_decl "${comment}exception ${name} {
3660 explicit_switch_type ""
3662 classrelation 128130 // errors (<directional aggregation by value>)
3663 relation 128130 *-->
3664 a role_name "errors" multiplicity "1" public
3665 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3667 classrelation_ref 128130 // errors (<directional aggregation by value>)
3668 b multiplicity "" parent class_ref 128211 // ErrorList
3671 operation 129107 "HKLException"
3672 public explicit_return_type ""
3674 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
3676 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
3685 operation 128386 "HKLException"
3686 public explicit_return_type ""
3688 param in name "_reason" explicit_type "char"
3689 param in name "_desc" explicit_type "char"
3690 param in name "_origin" explicit_type "char"
3691 param in name "_severity" explicit_type "int"
3692 cpp_decl " ${description}${inline}${name}${(}const ${t0} * ${p0}, const ${t1} * ${p1}, const ${t2} * ${p2}, ${t3} ${p3} = ERR${)}${volatile}${throw};
3694 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} * ${p0}, const ${t1} * ${p1}, const ${t2} * ${p2}, ${t3} ${p3}${)}${volatile}${throw} :
3703 operation 128514 "HKLException"
3704 public explicit_return_type ""
3706 param in name "_reason" type class_ref 129026 // string
3707 param in name "_desc" type class_ref 129026 // string
3708 param in name "_origin" type class_ref 129026 // string
3709 param in name "_severity" explicit_type "int"
3711 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, ${t3} ${p3} = ERR${)}${volatile}${throw};
3713 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, ${t3} ${p3}${)}${volatile}${throw} :
3722 operation 128130 "HKLException"
3724 public explicit_return_type ""
3726 param in name "_src" type class_ref 128182 // HKLException
3727 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
3729 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
3738 operation 128002 "~HKLException"
3739 public explicit_return_type ""
3741 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
3743 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
3751 operation 128258 "operator="
3752 public return_type class_ref 128182 // HKLException
3754 param in name "_src" type class_ref 128182 // HKLException
3755 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3757 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3765 operation 128642 "push_error"
3766 public explicit_return_type "void"
3768 param in name "_reason" explicit_type "char"
3769 param in name "_desc" explicit_type "char"
3770 param in name "_origin" explicit_type "char"
3771 param in name "_severity" explicit_type "int"
3772 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}, ${t1} * ${p1}, ${t2} * ${p2}, ${t3} ${p3} = ERR${)}${volatile}${throw}${abstract};
3774 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}, ${t2} * ${p2}, ${t3} ${p3}${)}${volatile}${throw}${staticnl}
3782 operation 128770 "push_error"
3783 public explicit_return_type "void"
3785 param in name "_reason" type class_ref 129026 // string
3786 param in name "_desc" type class_ref 129026 // string
3787 param in name "_origin" type class_ref 129026 // string
3788 param in name "_severity" explicit_type "int"
3789 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3} = ERR${)}${const}${volatile}${throw}${abstract};
3791 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${const}${volatile}${throw}${staticnl}
3799 operation 128898 "push_error"
3800 public explicit_return_type "void"
3802 param in name "_error" type class_ref 128310 // Error
3803 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3805 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3814 class 131202 "HKLObject"
3816 cpp_decl "${description}${template}class ${name}${inherit} {
3822 explicit_switch_type ""
3824 classrelation 132098 // <generalisation>
3825 relation 131714 ---|>
3827 cpp default "${type}"
3828 classrelation_ref 132098 // <generalisation>
3829 b multiplicity "" parent class_ref 129282 // ObjectReadOnly
3832 classrelation 131970 // _parameters (<directional aggregation by value>)
3833 relation 131586 *-->
3834 a role_name "_parameters" multiplicity "1" protected
3835 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3837 classrelation_ref 131970 // _parameters (<directional aggregation by value>)
3838 b multiplicity "" parent class_ref 131074 // ParameterList
3841 operation 159234 "HKLObject"
3842 public explicit_return_type ""
3844 param in name "name" type class_ref 129026 // string
3845 param in name "description" type class_ref 129026 // string
3847 exception class_ref 128182 // HKLException
3848 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
3850 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw}:
3851 ObjectReadOnly(name, description)
3858 * @brief The default constructor
3859 * @param ${p0} The name of the ${class}.
3860 * @param ${p1} The description of the ${class}.
3861 * @throw HKLException if the ${p0} and/or the ${p1} are wrong.
3865 operation 159362 "parameters"
3866 public return_type class_ref 131074 // ParameterList
3868 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
3870 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
3878 operation 159490 "operator=="
3879 const public explicit_return_type "bool"
3881 param in name "hklObject" type class_ref 131202 // HKLObject
3882 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3884 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3891 * \\brief Are two ${class} equals ?
3892 * \\param ${p0} the ${t0} to compare with.
3893 * \\return true if both are equals flase otherwise.
3897 operation 159618 "printToStream"
3898 const public return_type class_ref 152194 // ostream
3900 param inout name "flux" type class_ref 152194 // ostream
3901 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3903 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3910 * @brief print the ${class} into a flux
3911 * @param ${p0} The stream to print into.
3912 * @return The modified flux.
3916 operation 159746 "toStream"
3917 const public return_type class_ref 152194 // ostream
3919 param inout name "flux" type class_ref 152194 // ostream
3920 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3922 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3929 * @brief print on a stream the content of the ${class}
3930 * @param flux the ostream to modify.
3931 * @return the modified ostream
3935 operation 159874 "fromStream"
3936 public return_type class_ref 152322 // istream
3938 param inout name "flux" type class_ref 152322 // istream
3939 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3941 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
3948 * @brief restore the content of the ${class} from an istream
3949 * @param flux the istream.
3950 * @return the modified istream.
3951 * @todo problem of security here.
3956 class 148482 "Holder"
3958 cpp_decl "${comment}${template}class ${name}${inherit} {
3962 * @brief Add an axe to the holder.
3963 * @param name The name of the added Axe.
3964 * @param axe The hkl::svector representing the axe of rotation.
3965 * @return The added axe.
3967 template<typename T>
3968 T * add(T * axe) throw(hkl::HKLException)
3970 std::string const & name = axe->get_name();
3972 // Is the axe in the axeList ?
3973 hkl::AxeList::iterator iter = _holderList->axes().begin();
3974 hkl::AxeList::iterator end = _holderList->axes().end();
3975 bool found_in_axeList = false;
3976 unsigned int idx = 0;
3977 while(iter != end && !found_in_axeList )
3979 if ( (*iter)->get_name() == name) // same name -> check if axes are compatible
3981 if ( **iter == *axe) // same axe -> check if axe in the holder ( in _axes)
3983 std::vector<hkl::HolderRow>::iterator it = _rows.begin();
3984 std::vector<hkl::HolderRow>::iterator it_end = _rows.end();
3987 if ( it->axe->get_name() == name) // yes -> exception
3989 std::ostringstream description;
3990 description << \"The axe \\\"\" << name << \"\\\" is already present in the holder\";
3991 // destroy the axe as it will not be added to the axe List
3993 HKLEXCEPTION(\"Can not add two times the same axe\",
3996 else // no -> add it
3999 // not in the holder -> add it and check for memory leak
4000 hkl::HolderRow row = {NULL, idx};
4001 if (*iter == axe) // same pointer -> only add to the _axes.
4003 else // different pointer -> keep the one from the holder.
4008 _rows.push_back(row);
4009 return static_cast<T *>(row.axe);
4011 else // different axe with the same name -> throw exception
4013 std::ostringstream description;
4014 description << \"Same name but different axe.\" << std::endl
4015 << \"holder axe : \" << **iter;
4016 description << \"Axe to add : \" << *axe;
4017 // destroy tha ase as it will not be added to the axe list.
4019 HKLEXCEPTION(\"Can not add this Axe to the sample axe list\",
4023 else // not same name -> next axe in the axeList
4025 ++idx; // compute the index of the next axe in the _axeList.
4029 // Axe not present in the axeList so add it to the axeList and the _axes.
4030 hkl::HolderRow row = { axe, _holderList->axes().size() };
4031 _holderList->axes().push_back(axe);
4032 _rows.push_back(row);
4033 return static_cast<T *>(row.axe);
4041 explicit_switch_type ""
4043 classrelation 170754 // rows (<directional aggregation by value>)
4044 relation 169346 *-->
4046 a role_name "rows" multiplicity "*" protected
4047 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> _${name}${value};
4049 classrelation_ref 170754 // rows (<directional aggregation by value>)
4050 b multiplicity "" parent class_ref 148610 // HolderRow
4053 classrelation 179714 // <aggregation>
4054 relation_ref 172930 // <aggregation>
4057 operation 244866 "Holder"
4058 stereotype "constructor"
4059 public explicit_return_type ""
4061 param inout name "holderList" type class_ref 149762 // HolderList
4062 cpp_decl " ${comment}${inline}${name}${(}${t0} * ${p0}${)}${volatile}${throw};
4064 cpp_def "${comment}${inline}${class}::${name}${(}${t0} * ${p0}${)}${volatile}${throw} :
4071 comment "@brief construct an Holder related to an AxeList."
4074 operation 243714 "add_rotation"
4075 public return_type class_ref 130050 // Rotation
4077 param in name "name" type class_ref 129026 // string
4078 param in name "axe" type class_ref 128002 // svector
4080 exception class_ref 128182 // HKLException
4081 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${abstract};
4083 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}
4089 comment "@brief Add an axe to the holder.
4090 @param ${p0} The name of the added Axe.
4091 @param ${p1} The ${t1} representing the axe of rotation.
4092 @return The added axe."
4095 operation 245250 "apply"
4096 const public return_type class_ref 128770 // Quaternion
4098 param inout name "q" type class_ref 128770 // Quaternion
4099 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4101 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4107 comment "@brief apply the holder transformation to a ${t0}.
4108 @return The ${p0} ${t0} after the transformation.
4110 It computes q * qi in the Holder."
4113 operation 260482 "apply_consign"
4114 const public return_type class_ref 128770 // Quaternion
4116 param inout name "q" type class_ref 128770 // Quaternion
4117 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4119 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4125 comment "@brief apply the holder consign transformation to a ${t0}.
4126 @return The ${p0} ${t0} after the transformation.
4128 It computes q * qi(consign) in the Holder."
4131 operation 245122 "set_holderList"
4132 public explicit_return_type "void"
4134 param inout name "holderList" type class_ref 149762 // HolderList
4136 exception class_ref 128182 // HKLException
4137 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
4139 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
4145 comment "@brief set the axeList of the ${class}.
4146 @param ${p0} The ${t0} to set.
4147 @throw HKLException if the ${t0} is not compatible."
4150 operation 249986 "operator=="
4151 const public explicit_return_type "bool"
4153 param in name "holder" type class_ref 148482 // Holder
4154 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4156 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4162 comment "@brief Are two ${class} equals ?
4163 @param ${p0} the ${t0} to compare with."
4166 operation 245890 "printToStream"
4167 const public return_type class_ref 152194 // ostream
4169 param inout name "flux" type class_ref 152194 // ostream
4170 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4172 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4179 * @brief print the ${class} into a flux
4180 * @param ${p0} The stream to print into.
4181 * @return The modified flux.
4185 operation 249474 "toStream"
4186 const public return_type class_ref 152194 // ostream
4188 param inout name "flux" type class_ref 152194 // ostream
4189 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4191 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4198 * @brief print on a stream the content of the ${class}
4199 * @param flux the ostream to modify.
4200 * @return the modified ostream
4204 operation 249602 "fromStream"
4205 public return_type class_ref 152322 // istream
4207 param inout name "flux" type class_ref 152322 // istream
4208 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4210 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4217 * @brief restore the content of the ${class} from an istream
4218 * @param flux the istream.
4219 * @return the modified istream.
4220 * @todo problem of security here.
4225 class 149762 "HolderList"
4227 cpp_decl "${comment}${template}class ${name}${inherit} {
4233 explicit_switch_type ""
4235 classrelation 176770 // axeFactory (<directional aggregation by value>)
4236 relation 175362 *-->
4237 a role_name "axeFactory" multiplicity "" class_relation protected
4238 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
4240 classrelation_ref 176770 // axeFactory (<directional aggregation by value>)
4241 b multiplicity "" parent class_ref 150914 // AxeFactory
4244 classrelation 174210 // axes (<directional aggregation by value>)
4245 relation 172802 *-->
4246 a role_name "axes" multiplicity "1" protected
4247 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
4249 classrelation_ref 174210 // axes (<directional aggregation by value>)
4250 b multiplicity "" parent class_ref 145410 // AxeList
4253 classrelation 174338 // holders (<aggregation>)
4254 relation 172930 o---
4256 a role_name "holders" multiplicity "*" protected
4257 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> _${name}${value};
4259 classrelation_ref 174338 // holders (<aggregation>)
4260 b role_name "holderList" multiplicity "1" protected
4261 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * _${name}${value};
4263 classrelation_ref 179714 // <aggregation>
4266 operation 247042 "HolderList"
4267 stereotype "constructor"
4268 public explicit_return_type ""
4270 cpp_decl " ${comment}${inline}${name}${(}${)}${volatile}${throw};
4272 cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw}
4278 comment "@brief Create an empty holderList."
4281 operation 247170 "~HolderList"
4282 stereotype "destructor"
4283 cpp_virtual public explicit_return_type ""
4285 cpp_decl " ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
4287 cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw}
4295 operation 247298 "HolderList"
4297 public explicit_return_type ""
4299 param in name "source" type class_ref 149762 // HolderList
4300 cpp_decl " ${comment}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
4302 cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
4303 _holders(${p0}._holders)
4311 operation 248450 "add"
4312 public return_type class_ref 148482 // Holder
4314 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
4316 cpp_def "${comment}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4322 comment "@brief add an holder to the HolderList
4323 @return The added Holder"
4326 operation 248578 "axes"
4327 cpp_inline public return_type class_ref 145410 // AxeList
4329 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4331 cpp_def "${comment}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4337 comment "@brief get the axes store in the holderList.
4338 @return all axes stored in all holders of the HolderList."
4341 operation 248706 "axes"
4342 const cpp_inline public return_type class_ref 145410 // AxeList
4344 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4346 cpp_def "${comment}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4352 comment "@brief get the axes store in the holderList.
4353 @return all axes stored in all holders of the HolderList."
4356 operation 251138 "size"
4357 const public explicit_return_type "uint"
4359 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4361 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4367 comment "@brief Get the size of the ${class}
4368 @return The number of Holder in the ${class}"
4371 operation 248834 "operator[]"
4372 const cpp_inline public return_type class_ref 148482 // Holder
4374 param in name "idx" explicit_type "uint"
4375 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} const * ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${abstract};
4377 cpp_def "${comment}${inline}${type} const * ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
4383 comment "@brief get an Holder by its index.
4384 @param ${p0} the index of the holder to get."
4387 operation 251266 "operator=="
4388 const public explicit_return_type "bool"
4390 param in name "holderList" type class_ref 149762 // HolderList
4391 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4393 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4399 comment "@brief Are two ${class} equals ?
4400 @param ${p0} the ${t0} to compare with."
4403 operation 249090 "printToStream"
4404 const cpp_virtual public return_type class_ref 152194 // ostream
4406 param inout name "flux" type class_ref 152194 // ostream
4407 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4409 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4416 * @brief print the ${class} into a flux
4417 * @param ${p0} The stream to print into.
4418 * @return The modified flux.
4422 operation 249218 "toStream"
4423 const public return_type class_ref 152194 // ostream
4425 param inout name "flux" type class_ref 152194 // ostream
4426 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4428 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4435 * @brief print on a stream the content of the ${class}
4436 * @param flux the ostream to modify.
4437 * @return the modified ostream
4441 operation 249346 "fromStream"
4442 public return_type class_ref 152322 // istream
4444 param inout name "flux" type class_ref 152322 // istream
4445 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4447 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4454 * @brief restore the content of the ${class} from an istream
4455 * @param flux the istream.
4456 * @return the modified istream.
4457 * @todo problem of security here.
4462 class 148610 "HolderRow"
4463 visibility package stereotype "struct"
4464 cpp_decl "${comment}${template}struct ${name}${inherit} {
4469 idl_decl "${comment}struct ${name} {
4472 explicit_switch_type ""
4474 attribute 146818 "axe"
4475 public explicit_type "Axe"
4476 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
4482 attribute 146946 "idx"
4483 public explicit_type "uint"
4484 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4491 class 131586 "Lattice"
4493 cpp_decl "${description}${template}class ${name}${inherit} {
4499 explicit_switch_type ""
4501 attribute 131842 "_a"
4502 protected type class_ref 130178 // FitParameter
4503 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} * ${name}${value};
4509 attribute 131970 "_b"
4510 protected type class_ref 130178 // FitParameter
4511 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} * ${name}${value};
4517 attribute 132098 "_c"
4518 protected type class_ref 130178 // FitParameter
4519 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} * ${name}${value};
4525 attribute 132226 "_alpha"
4526 protected type class_ref 130178 // FitParameter
4527 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} * ${name}${value};
4533 attribute 132354 "_beta"
4534 protected type class_ref 130178 // FitParameter
4535 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} * ${name}${value};
4541 attribute 132482 "_gamma"
4542 protected type class_ref 130178 // FitParameter
4543 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} * ${name}${value};
4549 attribute 132610 "_B"
4550 protected type class_ref 128514 // smatrix
4551 cpp_mutable cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
4557 attribute 132738 "_old_a"
4558 private explicit_type "double"
4559 cpp_mutable cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
4565 attribute 132866 "_old_b"
4566 private explicit_type "double"
4567 cpp_mutable cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
4573 attribute 132994 "_old_c"
4574 private explicit_type "double"
4575 cpp_mutable cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
4581 attribute 133122 "_old_alpha"
4582 private explicit_type "double"
4583 cpp_mutable cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
4589 attribute 133250 "_old_beta"
4590 private explicit_type "double"
4591 cpp_mutable cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
4597 attribute 133378 "_old_gamma"
4598 private explicit_type "double"
4599 cpp_mutable cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
4605 operation 163970 "Lattice"
4606 public explicit_return_type ""
4608 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
4610 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
4617 * @brief The default constructor.
4621 operation 164098 "Lattice"
4622 public explicit_return_type ""
4624 param in name "a" type class_ref 128060 // Value
4625 param in name "b" type class_ref 128060 // Value
4626 param in name "c" type class_ref 128060 // Value
4627 param in name "alpha" type class_ref 128060 // Value
4628 param in name "beta" type class_ref 128060 // Value
4629 param in name "gamma" type class_ref 128060 // Value
4630 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}, const ${t5} & ${p5}${)}${volatile}${throw};
4632 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}, const ${t5} & ${p5}${)}${volatile}${throw}
4639 * @brief Another constructor.
4640 * @param ${p0} the a parameter of the ${class}
4641 * @param ${p1} the b parameter of the ${class}
4642 * @param ${p2} the c parameter of the ${class}
4643 * @param ${p3} the alpha parameter of the ${class}
4644 * @param ${p4} the beta parameter of the ${class}
4645 * @param ${p5} the gamma parameter of the ${class}
4649 operation 164482 "Lattice"
4651 public explicit_return_type ""
4653 param in name "source" type class_ref 131586 // Lattice
4654 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
4656 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw}
4663 * @brief The copy constructor.
4664 * @param ${p0} The ${class} to copy.
4668 operation 164354 "~Lattice"
4669 cpp_virtual public explicit_return_type ""
4671 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
4673 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
4680 * @brief The default destructor.
4684 operation 164610 "a"
4685 public return_type class_ref 130178 // FitParameter
4687 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4689 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4696 * @brief Get the a FitParameter of the ${class}.
4697 * @return A reference on the a FitParameter.
4698 * @todo return fitparameter * instead of fitParameter &.
4702 operation 164738 "b"
4703 public return_type class_ref 130178 // FitParameter
4705 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4707 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4714 * @brief Get the b FitParameter of the ${class}.
4715 * @return A reference on the b FitParameter.
4716 * @todo return fitparameter * instead of fitParameter &.
4720 operation 164866 "c"
4721 public return_type class_ref 130178 // FitParameter
4723 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4725 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4732 * @brief Get the c FitParameter of the ${class}.
4733 * @return A reference on the c FitParameter.
4734 * @todo return fitparameter * instead of fitParameter &.
4738 operation 164994 "alpha"
4739 public return_type class_ref 130178 // FitParameter
4741 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4743 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4750 * @brief Get the alpha FitParameter of the ${class}.
4751 * @return A reference on the alpha FitParameter.
4752 * @todo return fitparameter * instead of fitParameter &.
4756 operation 165122 "beta"
4757 public return_type class_ref 130178 // FitParameter
4759 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4761 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4768 * @brief Get the beta FitParameter of the ${class}.
4769 * @return A reference on the beta FitParameter.
4770 * @todo return fitparameter * instead of fitParameter &.
4774 operation 165250 "gamma"
4775 public return_type class_ref 130178 // FitParameter
4777 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4779 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4786 * @brief Get the gamma FitParameter of the ${class}.
4787 * @return A reference on the gamma FitParameter.
4788 * @todo return fitparameter * instead of fitParameter &.
4792 operation 165378 "a"
4793 const public return_type class_ref 130178 // FitParameter
4795 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4797 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4804 * @brief Get the a FitParameter of the ${class}.
4805 * @return A reference on the a FitParameter.
4806 * @todo return fitparameter * instead of fitParameter &.
4810 operation 165506 "b"
4811 const public return_type class_ref 130178 // FitParameter
4813 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4815 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4822 * @brief Get the b FitParameter of the ${class}.
4823 * @return A reference on the b FitParameter.
4824 * @todo return fitparameter * instead of fitParameter &.
4828 operation 165634 "c"
4829 const public return_type class_ref 130178 // FitParameter
4831 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4833 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4840 * @brief Get the c FitParameter of the ${class}.
4841 * @return A reference on the c FitParameter.
4842 * @todo return fitparameter * instead of fitParameter &.
4846 operation 165762 "alpha"
4847 const public return_type class_ref 130178 // FitParameter
4849 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4851 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4858 * @brief Get the alpha FitParameter of the ${class}.
4859 * @return A reference on the alpha FitParameter.
4860 * @todo return fitparameter * instead of fitParameter &.
4864 operation 165890 "beta"
4865 const public return_type class_ref 130178 // FitParameter
4867 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4869 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4876 * @brief Get the beta FitParameter of the ${class}.
4877 * @return A reference on the beta FitParameter.
4878 * @todo return fitparameter * instead of fitParameter &.
4882 operation 166018 "gamma"
4883 const public return_type class_ref 130178 // FitParameter
4885 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4887 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4894 * @brief Get the gamma FitParameter of the ${class}.
4895 * @return A reference on the gamma FitParameter.
4896 * @todo return fitparameter * instead of fitParameter &.
4900 operation 166146 "get_B"
4901 const public return_type class_ref 128514 // smatrix
4904 exception class_ref 128182 // HKLException
4905 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
4907 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4915 operation 166274 "get_B"
4916 const public return_type class_ref 128514 // smatrix
4918 param inout name "status" explicit_type "bool"
4919 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4921 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4929 operation 166402 "reciprocal"
4930 const public return_type class_ref 131586 // Lattice
4933 exception class_ref 128182 // HKLException
4934 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4936 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4942 comment "@brief Compute the reciprocal ${class}.
4943 @return The reciprocal ${class}.
4944 @throw HKLException if the reciprocal ${class} can not be compute.
4945 @todo See for the consign assignation.
4949 operation 166530 "randomize"
4950 public explicit_return_type "void"
4952 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4954 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
4961 * @brief Randomize the ${class}.
4965 operation 166658 "operator=="
4966 const public explicit_return_type "bool"
4968 param in name "lattice" type class_ref 131586 // Lattice
4969 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4971 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4978 * \\brief Are two ${class} equals ?
4979 * \\param ${p0} the ${t0} to compare with.
4980 * \\return true if both are equals flase otherwise.
4984 operation 166786 "printToStream"
4985 const public return_type class_ref 152194 // ostream
4987 param inout name "flux" type class_ref 152194 // ostream
4988 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
4990 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
4997 * @brief print the ${class} into a flux
4998 * @param ${p0} The stream to print into.
4999 * @return The modified flux.
5003 operation 166914 "toStream"
5004 const public return_type class_ref 152194 // ostream
5006 param inout name "flux" type class_ref 152194 // ostream
5007 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5009 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5016 * @brief print on a stream the content of the ${class}
5017 * @param flux the ostream to modify.
5018 * @return the modified ostream
5022 operation 167042 "fromStream"
5023 public return_type class_ref 152322 // istream
5025 param inout name "flux" type class_ref 152322 // istream
5026 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5028 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5035 * @brief restore the content of the ${class} from an istream
5036 * @param flux the istream.
5037 * @return the modified istream.
5038 * @todo problem of security here.
5042 operation 167170 "_computeB"
5043 const protected explicit_return_type "bool"
5045 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5047 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5054 * @brief compute the B matrix from the fitParameters.
5055 * @return true if the calculus is valid.
5059 operation 167298 "_compute_reciprocal"
5060 const protected explicit_return_type "void"
5062 param out name "a_star" explicit_type "double"
5063 param out name "b_star" explicit_type "double"
5064 param out name "c_star" explicit_type "double"
5065 param out name "alpha_star" explicit_type "double"
5066 param out name "beta_star" explicit_type "double"
5067 param out name "gamma_star" explicit_type "double"
5069 exception class_ref 128182 // HKLException
5070 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}, ${t1} & ${p1}, ${t2} & ${p2}, ${t3} & ${p3}, ${t4} & ${p4}, ${t5} & ${p5}${)}${const}${volatile}${throw}${abstract};
5072 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} & ${p0}, ${t1} & ${p1}, ${t2} & ${p2}, ${t3} & ${p3}, ${t4} & ${p4}, ${t5} & ${p5}${)}${const}${volatile}${throw}${staticnl}
5079 * @brief compute the reciprocal parameters of the ${class}.
5080 * @param[out] ${p0} the a_star value.
5081 * @param[out] ${p1} the b_star value.
5082 * @param[out] ${p2} the c_star value.
5083 * @param[out] ${p3} the alpha_star value.
5084 * @param[out] ${p4} the beta_star value.
5085 * @param[out] ${p5} the gamma_star value.
5086 * @throw HKLException if the reciprocal calculus is not possible.
5092 abstract visibility package
5093 cpp_decl "${description}${template}class ${name}${inherit} {
5099 explicit_switch_type ""
5101 classrelation 147330 // <generalisation>
5102 relation 146946 ---|>
5104 cpp default "${type}"
5105 classrelation_ref 147330 // <generalisation>
5106 b multiplicity "" parent class_ref 131202 // HKLObject
5109 operation 214402 "Mode"
5110 protected explicit_return_type ""
5112 param in name "name" type class_ref 129026 // string
5113 param in name "description" type class_ref 129026 // string
5114 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
5116 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw} :
5117 HKLObject(name, description)
5124 * @brief The default constructor of the ${class} class.
5125 * @param ${p0} the name of the ${class}.
5126 * @param ${p1} the description of the ${class}.
5131 operation 214530 "~Mode"
5132 cpp_virtual public explicit_return_type ""
5134 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
5136 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
5144 operation 214658 "computeAngles"
5145 abstract const cpp_virtual public explicit_return_type "void"
5147 param in name "h" type class_ref 128060 // Value
5148 param in name "k" type class_ref 128060 // Value
5149 param in name "l" type class_ref 128060 // Value
5150 param in name "UB" type class_ref 128514 // smatrix
5151 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${volatile}${throw}${abstract};
5156 * @brief The main function to get a sample of angles from (h,k,l).
5157 * @param ${p0} The scaterring vector first coordinate.
5158 * @param ${p1} The scaterring vector second coordinate.
5159 * @param ${p2} The scaterring vector third coordinate.
5160 * @param ${p3} The product of the orientation matrix U by the crystal matrix B.
5166 class 139138 "ModeList"
5168 cpp_decl "${description}${template}class ${name}${inherit} {
5174 explicit_switch_type ""
5176 classrelation 147970 // _current (<directional aggregation>)
5177 relation 147586 o-->
5178 a role_name "_current" multiplicity "1" protected
5179 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
5181 classrelation_ref 147970 // _current (<directional aggregation>)
5182 b multiplicity "" parent class_ref 138754 // Mode
5185 classrelation 148098 // _modes (<directional aggregation>)
5186 relation 147714 o-->
5188 a role_name "_modes" multiplicity "*" protected
5189 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
5191 classrelation_ref 148098 // _modes (<directional aggregation>)
5192 b multiplicity "" parent class_ref 138754 // Mode
5195 class 139266 "iterator"
5196 visibility package stereotype "typedef" explicit_base_type "std::vector<Mode *>::iterator"
5197 cpp_decl "${description}typedef ${type} ${name};
5200 idl_decl "${comment}typedef ${type} ${name};
5202 explicit_switch_type ""
5206 class 139394 "const_iterator"
5207 visibility package stereotype "typedef" explicit_base_type "std::vector<Mode *>::const_iterator"
5208 cpp_decl "${description}typedef ${type} ${name};
5211 idl_decl "${comment}typedef ${type} ${name};
5213 explicit_switch_type ""
5217 operation 215298 "ModeList"
5218 public explicit_return_type ""
5220 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
5222 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
5230 * @brief Default constructor of the ${class} class.
5235 operation 215426 "~ModeList"
5236 cpp_virtual public explicit_return_type ""
5238 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
5240 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
5247 * @brief The default destructor.
5252 operation 215810 "add"
5253 public return_type class_ref 138754 // Mode
5255 param in name "mode" type class_ref 138754 // Mode
5256 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
5258 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
5265 * @brief Add a mode to the ${class}.
5266 * @param ${p0} The ${t0} to add.
5267 * @return NULL if the ${t0} can not be add or a Pointer on the added ${t0}
5271 operation 216066 "erase"
5272 public explicit_return_type "ModeList::iterator"
5274 param inout name "pos" explicit_type "ModeList::iterator"
5275 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5277 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5284 * @brief Remove a Mode from the ${class}.
5285 * @param ${p0} The ${t0} position of the Sample.
5286 * @throw HKLException If the sample is not present.
5290 operation 216194 "clear"
5291 public explicit_return_type "void"
5293 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5295 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5302 * @brief Remove all sample from the SampleList.
5306 operation 216322 "set_current"
5307 public return_type class_ref 138754 // Mode
5309 param in name "name" type class_ref 129026 // string
5310 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5312 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5319 * @brief Set the nth Mode as the current Mode.
5320 * @param ${p0} The name of the Mode to set as current.
5321 * @return NULL if the mode is not present in the list but do not change the _current.
5325 operation 216450 "get_current"
5326 const public return_type class_ref 138754 // Mode
5328 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
5330 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5337 * @brief Get the current Mode
5338 * @return A pointer on the current Mode.
5342 operation 216578 "current"
5343 public return_type class_ref 138754 // Mode
5345 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
5347 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5354 * @brief Get the current sample
5355 * @return A pointer on the current sample.
5359 operation 216706 "get_names"
5360 const public explicit_return_type "std::vector<std::string>"
5362 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5364 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5371 * @brief Return the names of all samples.
5376 operation 216834 "size"
5377 const public explicit_return_type "uint"
5379 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5381 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5389 operation 216962 "operator[]"
5390 public return_type class_ref 138754 // Mode
5392 param in name "name" type class_ref 129026 // string
5393 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5395 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5402 * @return the Mode * named
5403 * @param ${p0} The name of the Mode we are looking for in the ${class}.
5404 * @return The mode or NULL if the mode is not present in the ${class}.
5408 operation 217090 "begin"
5409 public explicit_return_type "ModeList::iterator"
5411 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5413 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5420 * @brief Get an iterator on the first element of ReflectionList.
5421 * @return The iterator.
5426 operation 217218 "end"
5427 public explicit_return_type "ModeList::iterator"
5429 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5431 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5438 * @brief Get an iterator on the end of ReflectionList.
5439 * @return The iterator.
5444 operation 217346 "begin"
5445 const public explicit_return_type "ModeList::const_iterator"
5447 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5449 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5456 * @brief Get an iterator on the first element of ReflectionList.
5457 * @return The iterator.
5462 operation 217474 "end"
5463 const public explicit_return_type "ModeList::const_iterator"
5465 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5467 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5474 * @brief Get an iterator on the end of ReflectionList.
5475 * @return The iterator.
5480 operation 217602 "operator=="
5481 const public explicit_return_type "bool"
5483 param in name "modeList" type class_ref 139138 // ModeList
5484 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5486 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5493 * \\brief Are two ${class} equals ?
5494 * \\param ${p0} the ${t0} to compare with.
5495 * \\return true if both are equals flase otherwise.
5499 operation 217730 "printToStream"
5500 const public return_type class_ref 152194 // ostream
5502 param inout name "flux" type class_ref 152194 // ostream
5503 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5505 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5512 * @brief print the ${class} into a flux
5513 * @param ${p0} The stream to print into.
5514 * @return The modified flux.
5518 operation 217858 "toStream"
5519 const public return_type class_ref 152194 // ostream
5521 param inout name "flux" type class_ref 152194 // ostream
5522 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5524 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5531 * @brief print on a stream the content of the ${class}
5532 * @param flux the ostream to modify.
5533 * @return the modified ostream
5537 operation 217986 "fromStream"
5538 public return_type class_ref 152322 // istream
5540 param inout name "flux" type class_ref 152322 // istream
5541 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5543 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5550 * @brief restore the content of the ${class} from an istream
5551 * @param flux the istream.
5552 * @return the modified istream.
5553 * @todo problem of security here.
5558 class 138882 "ModeTemp"
5561 formal name "T" type "class" explicit_default_value ""
5563 cpp_decl "${description}${template}class ${name}${inherit} {
5569 explicit_switch_type ""
5571 classrelation 147458 // <generalisation>
5572 relation 147074 ---|>
5574 cpp default "${type}"
5575 classrelation_ref 147458 // <generalisation>
5576 b multiplicity "" parent class_ref 138754 // Mode
5579 operation 214786 "ModeTemp"
5580 protected explicit_return_type ""
5582 param in name "name" type class_ref 129026 // string
5583 param in name "description" type class_ref 129026 // string
5584 param inout name "geometry" explicit_type "T"
5585 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} & ${p2}${)}${volatile}${throw};
5587 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} & ${p2}${)}${volatile}${throw} :
5588 Mode(name, description),
5596 * @brief Default constructor - protected to make sure this class is abstract.
5597 * @param ${p0} The name of the ModeTemp.
5598 * @param ${p1} The description of the ModeTemp.
5599 * @param ${p2} the Geometry use to do calculation.
5604 operation 214914 "~ModeTemp"
5605 cpp_virtual public explicit_return_type ""
5607 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
5609 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
5617 attribute 142338 "_geometry"
5618 protected explicit_type "T"
5619 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} & ${name}${value};
5625 class 139010 "value_type"
5626 visibility package stereotype "typedef" explicit_base_type "T"
5627 cpp_decl "${description}typedef ${type} ${name};
5630 idl_decl "${comment}typedef ${type} ${name};
5632 explicit_switch_type ""
5636 operation 215042 "_parametersAreOk"
5637 const protected explicit_return_type "bool"
5639 param in name "h" type class_ref 128060 // Value
5640 param in name "k" type class_ref 128060 // Value
5641 param in name "l" type class_ref 128060 // Value
5642 param in name "UB" type class_ref 128514 // smatrix
5644 exception class_ref 128182 // HKLException
5645 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${volatile}${throw}${abstract};
5647 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${const}${volatile}${throw}${staticnl}
5654 * @brief Check if the parameter are ok to compute the geometry configuration.
5660 * @throw HKLException if one of the parameters is wrong.
5661 * @return true if parameters are ok, false otherwise.
5666 operation 215170 "_computeThetaAndHphi"
5667 const protected explicit_return_type "void"
5669 param in name "h" type class_ref 128060 // Value
5670 param in name "k" type class_ref 128060 // Value
5671 param in name "l" type class_ref 128060 // Value
5672 param in name "UB" type class_ref 128514 // smatrix
5673 param out name "theta" explicit_type "double"
5674 param out name "hphi" type class_ref 128002 // svector
5676 exception class_ref 128182 // HKLException
5677 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, ${t4} & ${p4}, ${t5} & ${p5}${)}${const}${volatile}${throw}${abstract};
5679 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, ${t4} & ${p4}, ${t5} & ${p5}${)}${const}${volatile}${throw}${staticnl}
5686 * @brief Compute theta correspondig to thoses parameters.
5688 * @param ${p0} The first coordinate of the hkl vector.
5689 * @param ${p1} the second coordinate of the hkl vector.
5690 * @param ${p2} the third coordinate of the hkl vector.
5691 * @param ${p3} The UB matrix.
5692 * @param[out] ${p4} the scattering reflection angle.
5693 * @param[out] ${p5} the hkl vector in the sample holder coordinates.
5694 * @throw HKLException if the reflection is unreachable
5700 class 130306 "MyMap"
5703 formal name "T" type "class" explicit_default_value ""
5706 actual class class_ref 130562 // map
5707 rank 0 value class_ref 129026 // string
5708 actual class class_ref 130562 // map
5709 rank 1 explicit_value "T"
5710 cpp_decl "${description}${template}class ${name}${inherit} {
5716 explicit_switch_type ""
5718 classrelation 131074 // <generalisation>
5719 relation 130818 ---|>
5721 cpp default "${type}"
5722 classrelation_ref 131074 // <generalisation>
5723 b multiplicity "" parent class_ref 130562 // map
5726 operation 156674 "operator[]"
5727 public explicit_return_type "T"
5729 param in name "name" type class_ref 129026 // string
5731 exception class_ref 128182 // HKLException
5732 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5734 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5741 * @brief Overload of the [] operator.
5742 * @param ${p0} The name of the element to return.
5743 * @throw HKLException the element named ${p0} is not in the ${class}.
5744 * @return The element named ${p0}.
5748 operation 156802 "operator[]"
5749 const public explicit_return_type "T"
5751 param in name "name" type class_ref 129026 // string
5753 exception class_ref 128182 // HKLException
5754 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5756 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5763 * @brief Overload of the [] operator.
5764 * @param ${p0} The name of the element to return.
5765 * @throw HKLException the element named ${p0} is not in the ${class}.
5766 * @return The element named ${p0}.
5770 operation 156930 "add"
5771 public explicit_return_type "bool"
5773 param in name "object" explicit_type "T"
5775 exception class_ref 128182 // HKLException
5776 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5778 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5785 * @brief Add a ${t0} to the ${class}.
5786 * @param ${p0} The ${t0} to add.
5787 * @throw HKLException The ${p0} is already in the ${class}.
5788 * @return True if ok false otherwise.
5792 operation 157058 "remove"
5793 public explicit_return_type "bool"
5795 param in name "name" type class_ref 129026 // string
5797 exception class_ref 128182 // HKLException
5798 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5800 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5807 * @brief remove the ${t0} named ${p0} from the ${class}
5808 * @param ${p0} The name of the ${t0}.
5809 * @throw HKLException The object names ${p0} is no present in the ${class}.
5810 * @return True if object removed.
5814 operation 157186 "getNames"
5815 const public explicit_return_type "vector<string>"
5817 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5819 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
5827 operation 157314 "printToStream"
5828 const public return_type class_ref 152194 // ostream
5830 param inout name "flux" type class_ref 152194 // ostream
5831 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5833 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5840 * \\brief print the ${class} into a flux
5841 * \\param flux The stream to print into.
5845 operation 157442 "toStream"
5846 const public return_type class_ref 152194 // ostream
5848 param inout name "flux" type class_ref 152194 // ostream
5849 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5851 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5858 * \\brief Save the ${class} into a stream.
5859 * \\param flux the stream to save the ${class} into.
5860 * \\return The stream with the ${class}.
5864 operation 157570 "fromStream"
5865 public return_type class_ref 152322 // istream
5867 param inout name "flux" type class_ref 152322 // istream
5868 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5870 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5877 * \\brief Restore a ${class} from a stream.
5878 * \\param flux The stream containing the ${class} to restore.
5879 * @todo call update_observers or not ?
5884 class 128898 "MyString"
5886 cpp_decl "${description}${template}class ${name}${inherit} {
5890 java_decl "${comment}${@}${public}interface ${name}${extends} {
5893 idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
5896 explicit_switch_type ""
5899 * @brief the class use to store a double with an unit.
5901 operation 141442 "MyString"
5902 stereotype "constructor"
5903 public explicit_return_type ""
5905 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
5907 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
5915 * @brief The default constructor.
5919 operation 141570 "MyString"
5920 stereotype "constructor"
5921 public explicit_return_type ""
5923 param in name "s" explicit_type "char"
5924 cpp_decl " ${description}${inline}${name}${(}${t0} const * ${p0}${)}${volatile}${throw};
5926 cpp_def "${description}${inline}${class}::${name}${(}${t0} const * ${p0}${)}${volatile}${throw} :
5934 * @brief A constructor from a double
5938 operation 144002 "MyString"
5939 stereotype "constructor"
5940 public explicit_return_type ""
5942 param in name "s" type class_ref 129026 // string
5943 cpp_decl " ${description}${inline}${name}${(}${t0} const & ${p0}${)}${volatile}${throw};
5945 cpp_def "${description}${inline}${class}::${name}${(}${t0} const & ${p0}${)}${volatile}${throw} :
5953 * @brief A constructor from a double
5957 operation 144130 "MyString"
5959 public explicit_return_type ""
5961 param in name "s" type class_ref 128898 // MyString
5962 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
5964 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
5972 * @brief A constructor from a double
5976 operation 143746 "toStream"
5977 const public return_type class_ref 152194 // ostream
5979 param inout name "flux" type class_ref 152194 // ostream
5980 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
5982 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
5989 * @brief print on a stream the content of the MyString
5990 * @param flux the ostream to modify.
5991 * @return the modified ostream
5995 operation 143874 "fromStream"
5996 public return_type class_ref 152322 // istream
5998 param inout name "flux" type class_ref 152322 // istream
5999 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6001 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6008 * @brief restore the content of the MyString from an istream
6009 * @param flux the istream.
6010 * @return the modified istream.
6011 * @todo problem of security here.
6015 classrelation 128514 // <generalisation>
6016 relation 128514 ---|>
6018 cpp default "${type}"
6019 classrelation_ref 128514 // <generalisation>
6020 b multiplicity "" parent class_ref 129026 // string
6024 class 129154 "ObjectBase"
6026 cpp_decl "${description}${template}class ${name}${inherit} {
6032 explicit_switch_type ""
6034 classrelation 128642 // _name (<directional aggregation by value>)
6035 relation 128642 *-->
6036 a role_name "_name" multiplicity "1" private
6037 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
6039 classrelation_ref 128642 // _name (<directional aggregation by value>)
6040 b multiplicity "" parent class_ref 128898 // MyString
6043 classrelation 128898 // _description (<directional aggregation by value>)
6044 relation 128770 *-->
6045 a role_name "_description" multiplicity "1" private
6046 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
6048 classrelation_ref 128898 // _description (<directional aggregation by value>)
6049 b multiplicity "" parent class_ref 128898 // MyString
6052 operation 144642 "ObjectBase"
6053 public explicit_return_type ""
6055 param in name "name" type class_ref 129026 // string
6056 param in name "description" type class_ref 129026 // string
6058 exception class_ref 128182 // HKLException
6059 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
6061 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw}
6068 * @brief Another constructor
6069 * @param ${p0} The name of the Object
6070 * @param ${p1} The description of the Object
6071 * @throw HKLException if the name or the description is empty.
6075 operation 144386 "ObjectBase"
6077 public explicit_return_type ""
6079 param in name "source" type class_ref 129154 // ObjectBase
6080 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
6082 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
6083 _name(source._name),
6084 _description(source._description)
6091 * @brief Copy constructor
6092 * @param ${p0} the ${class} to copy.
6096 operation 145282 "operator=="
6097 const public explicit_return_type "bool"
6099 param in name "object" type class_ref 129154 // ObjectBase
6100 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6102 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6109 * \\brief Are two Object equals ?
6110 * \\param ${p0} the Object to compare with.
6111 * \\return true if both are equals flase otherwise.
6115 operation 147714 "_get_name"
6116 const protected return_type class_ref 129026 // string
6118 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
6120 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6127 * @brief Get the name of the ${class}.
6128 * @return a string ref with the name of the ${class}.
6132 operation 145410 "_set_name"
6133 protected explicit_return_type "void"
6135 param in name "name" type class_ref 129026 // string
6137 exception class_ref 128182 // HKLException
6138 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6140 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6147 * @brief Set the name of the BaseObject.
6148 * @param name The new name of the BaseObject.
6152 operation 147842 "_get_description"
6153 const protected return_type class_ref 129026 // string
6155 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
6157 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6164 * @brief Get the description of the ${class}.
6165 * @return a string ref with the name of the ${class}.
6169 operation 145538 "_set_description"
6170 protected explicit_return_type "void"
6172 param in name "description" type class_ref 129026 // string
6174 exception class_ref 128182 // HKLException
6175 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6177 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6184 * @brief Set the description of the Object.
6185 * @param description The new BaseObject description.
6189 operation 145922 "printToStream"
6190 const public return_type class_ref 152194 // ostream
6192 param inout name "flux" type class_ref 152194 // ostream
6193 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6195 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6202 * @brief print the ${class} into a flux
6203 * @param ${p0} The stream to print into.
6204 * @return The modified flux.
6208 operation 145666 "toStream"
6209 const public return_type class_ref 152194 // ostream
6211 param inout name "flux" type class_ref 152194 // ostream
6212 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6214 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6221 * @brief print on a stream the content of the ${class}
6222 * @param flux the ostream to modify.
6223 * @return the modified ostream
6227 operation 145794 "fromStream"
6228 public return_type class_ref 152322 // istream
6230 param inout name "flux" type class_ref 152322 // istream
6231 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6233 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6240 * @brief restore the content of the ${class} from an istream
6241 * @param flux the istream.
6242 * @return the modified istream.
6243 * @todo problem of security here.
6248 class 129282 "ObjectReadOnly"
6250 cpp_decl "${description}${template}class ${name}${inherit} {
6256 explicit_switch_type ""
6258 classrelation 129154 // <generalisation>
6259 relation 128898 ---|>
6261 cpp default "${type}"
6262 classrelation_ref 129154 // <generalisation>
6263 b multiplicity "" parent class_ref 129154 // ObjectBase
6266 operation 146050 "ObjectReadOnly"
6267 public explicit_return_type ""
6269 param in name "name" type class_ref 129026 // string
6270 param in name "description" type class_ref 129026 // string
6272 exception class_ref 128182 // HKLException
6273 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
6275 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw} :
6276 ObjectBase(name, description)
6283 * @brief The default constructor.
6284 * @param ${p0} The name of the Object
6285 * @param ${p1} The description of the Object
6286 * @throw HKLException if the name or the description is empty.
6290 operation 146306 "ObjectReadOnly"
6292 public explicit_return_type ""
6294 param in name "source" type class_ref 129282 // ObjectReadOnly
6295 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
6297 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
6305 * @brief Copy constructor
6306 * @param ${p0} the ${class} to copy.
6310 operation 146434 "get_name"
6311 const public return_type class_ref 129026 // string
6313 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
6315 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6322 * @brief Get the name of the ${class}.
6323 * @return a string reference with the name of the ${class}.
6327 operation 146562 "get_description"
6328 const public return_type class_ref 129026 // string
6330 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
6332 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6339 * @brief Get the description of the ${class}.
6340 * @return a string reference with the description of the ${class}.
6345 class 129410 "Object"
6347 cpp_decl "${description}${template}class ${name}${inherit} {
6353 explicit_switch_type ""
6355 classrelation 129538 // <generalisation>
6356 relation 129282 ---|>
6358 cpp default "${type}"
6359 classrelation_ref 129538 // <generalisation>
6360 b multiplicity "" parent class_ref 129282 // ObjectReadOnly
6363 operation 147330 "Object"
6364 public explicit_return_type ""
6366 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
6368 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
6369 ObjectReadOnly(\"unknown\", \"unknown\")
6376 * @brief The default constructor.
6380 operation 146690 "Object"
6381 public explicit_return_type ""
6383 param in name "name" type class_ref 129026 // string
6384 param in name "description" type class_ref 129026 // string
6386 exception class_ref 128182 // HKLException
6387 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
6389 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw} :
6390 ObjectReadOnly(name, description)
6397 * @brief The default constructor.
6398 * @param ${p0} The name of the ${class}
6399 * @param ${p1} The description of the ${class}
6400 * @throw HKLException if the name or the description is empty.
6404 operation 146946 "Object"
6406 public explicit_return_type ""
6408 param in name "source" type class_ref 129410 // Object
6409 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
6411 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
6412 ObjectReadOnly(source)
6419 * @brief Copy constructor
6420 * @param ${p0} the ${class} to copy.
6424 operation 147074 "set_name"
6425 public explicit_return_type "void"
6427 param in name "name" type class_ref 129026 // string
6428 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6430 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6437 * @brief Set the name of the ${class}.
6442 operation 147458 "set_description"
6443 public explicit_return_type "void"
6445 param in name "description" type class_ref 129026 // string
6447 exception class_ref 128182 // HKLException
6448 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6450 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6457 * @brief Set the name of the ${class}.
6463 class 129666 "Observable"
6465 cpp_decl "${description}${template}class ${name}${inherit} {
6471 explicit_switch_type ""
6473 attribute 131074 "_changed"
6474 protected explicit_type "bool"
6475 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
6481 classrelation 129666 // _observers (<directional aggregation>)
6482 relation 129410 o-->
6484 a role_name "_observers" multiplicity "*" protected
6485 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
6487 classrelation_ref 129666 // _observers (<directional aggregation>)
6488 b multiplicity "" parent class_ref 129538 // Observer
6491 operation 148866 "Observable"
6492 public explicit_return_type ""
6494 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
6496 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
6504 * @brief The default constructor.
6508 operation 148994 "add_observer"
6509 public explicit_return_type "void"
6511 param in name "observer" type class_ref 129538 // Observer
6512 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
6514 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
6521 * @brief Add an ${t0} to the ${class}.
6522 * @param ${p0} The ${t0} pointer to add.
6526 operation 149122 "del_observer"
6527 public explicit_return_type "void"
6529 param in name "observer" type class_ref 129538 // Observer
6530 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
6532 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
6539 * @brief Delete an ${t0} from the ${class}.
6540 * @param ${p0} The ${t0} pointer to remove.
6544 operation 149250 "update_observers"
6545 public explicit_return_type "void"
6547 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6549 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6556 * @brief Update all the Observer looking for this ${class}.
6560 operation 149378 "set_changed"
6561 public explicit_return_type "void"
6563 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6565 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6572 * @brief Set the changed state of the ${class}.
6574 * If the changed state is not on, no Observer update is possible.
6579 class 129538 "Observer"
6580 abstract visibility package
6581 cpp_decl "${description}${template}class ${name}${inherit} {
6587 explicit_switch_type ""
6589 attribute 130946 "_connected"
6590 protected explicit_type "bool"
6591 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
6597 operation 148354 "Observer"
6598 public explicit_return_type ""
6600 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
6602 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
6611 operation 212994 "~Observer"
6612 cpp_virtual public explicit_return_type ""
6614 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
6616 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
6624 operation 148226 "update"
6625 abstract cpp_virtual public explicit_return_type "void"
6627 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6633 operation 148610 "connect"
6634 public explicit_return_type "void"
6636 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6638 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6646 operation 148738 "unconnect"
6647 public explicit_return_type "void"
6649 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6651 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6660 class 129922 "Parameter"
6662 cpp_decl "${description}${template}class ${name}${inherit} {
6668 explicit_switch_type ""
6670 classrelation 130434 // <generalisation>
6671 relation 130178 ---|>
6673 cpp default "${type}"
6674 classrelation_ref 130434 // <generalisation>
6675 b multiplicity "" parent class_ref 129282 // ObjectReadOnly
6678 classrelation 141826 // <generalisation>
6679 relation 141442 ---|>
6681 cpp default "${type}"
6682 classrelation_ref 141826 // <generalisation>
6683 b multiplicity "" parent class_ref 129794 // Range
6686 operation 152322 "Parameter"
6687 public explicit_return_type ""
6689 param in name "name" type class_ref 129026 // string
6690 param in name "description" type class_ref 129026 // string
6691 param in name "min" type class_ref 128060 // Value
6692 param in name "current" type class_ref 128060 // Value
6693 param in name "max" type class_ref 128060 // Value
6695 exception class_ref 128182 // HKLException
6696 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}${)}${volatile}${throw};
6698 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}, const ${t4} & ${p4}${)}${volatile}${throw} :
6699 ObjectReadOnly(name, description),
6700 Range(min, current, current, max)
6707 * @brief The default constructor
6708 * @param ${p0} The name ${t0} of the Parameter.
6709 * @param ${p1} The description ${t1} of the Parameter.
6710 * @param ${p2} the minimum ${t2} of the Parameter.
6711 * @param ${p3} The current ${t3} of the Parameter.
6712 * @param ${p4} The maximum ${t4} of the Parameter.
6713 * @throw HKLException if the min <= current <= max is not verify.
6717 operation 152706 "operator=="
6718 const public explicit_return_type "bool"
6720 param in name "parameter" type class_ref 129922 // Parameter
6721 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6723 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6730 * \\brief Are two ${class} equals ?
6731 * \\param ${p0} the ${t0} to compare with.
6736 operation 152834 "printToStream"
6737 const public return_type class_ref 152194 // ostream
6739 param inout name "flux" type class_ref 152194 // ostream
6740 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6742 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6749 * \\brief print the ${class} into a flux
6750 * \\param flux The stream to print into.
6754 operation 152962 "toStream"
6755 const public return_type class_ref 152194 // ostream
6757 param inout name "flux" type class_ref 152194 // ostream
6758 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6760 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6767 * \\brief Save the ${class} into a stream.
6768 * \\param flux the stream to save the ${class} into.
6769 * \\return The stream with the ${class}.
6773 operation 153090 "fromStream"
6774 public return_type class_ref 152322 // istream
6776 param inout name "flux" type class_ref 152322 // istream
6777 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6779 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6786 * \\brief Restore a ${class} from a stream.
6787 * \\param flux The stream containing the ${class} to restore.
6788 * @todo call update_observers or not ?
6793 class 131074 "ParameterList"
6795 cpp_decl "${description}${template}class ${name}${inherit} {
6801 explicit_switch_type ""
6803 classrelation 131714 // _parameters (<directional aggregation>)
6804 relation 131458 o-->
6806 a role_name "_parameters" multiplicity "*" protected
6807 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
6809 classrelation_ref 131714 // _parameters (<directional aggregation>)
6810 b multiplicity "" parent class_ref 129922 // Parameter
6813 class 144642 "iterator"
6814 visibility package stereotype "typedef" explicit_base_type "std::vector<Parameter *>::iterator"
6815 cpp_decl "${description}typedef ${type} ${name};
6818 idl_decl "${comment}typedef ${type} ${name};
6820 explicit_switch_type ""
6824 class 144770 "const_iterator"
6825 visibility package stereotype "typedef" explicit_base_type "std::vector<Parameter *>::const_iterator"
6826 cpp_decl "${description}typedef ${type} ${name};
6829 idl_decl "${comment}typedef ${type} ${name};
6831 explicit_switch_type ""
6835 operation 158338 "add"
6836 public explicit_return_type "bool"
6838 param in name "parameter" type class_ref 129922 // Parameter
6839 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
6841 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
6848 * @brief Add a ${t0} to the ${class}.
6849 * @param ${p0} The ${t0} to add.
6853 operation 158466 "size"
6854 const public explicit_return_type "uint"
6856 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6858 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6865 * @brief Get the size of the ${class}.
6866 * @return the number of element in the ${class}.
6870 operation 229506 "get_names"
6871 const public explicit_return_type "std::vector<std::string>"
6873 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6875 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6883 operation 158594 "operator[]"
6884 public return_type class_ref 129922 // Parameter
6886 param in name "name" type class_ref 129026 // string
6888 exception class_ref 128182 // HKLException
6889 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6891 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6898 * @return the ${t0} * named
6899 * @param ${p0} The name of the ${t0} we are looking for in the ${class}.
6900 * @return A ${t0} pointer.
6901 * @throw HKLException if the ${t0} is not present n the ${class}.
6905 operation 158722 "begin"
6906 public return_type class_ref 144642 // iterator
6908 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6910 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6917 * @brief Get an iterator on the first element of the ${class}.
6918 * @return The iterator.
6922 operation 158850 "end"
6923 public return_type class_ref 144642 // iterator
6925 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6927 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6934 * @brief Get an iterator on the end of the ${class}.
6935 * @return The iterator.
6939 operation 158978 "begin"
6940 const public return_type class_ref 144770 // const_iterator
6942 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6944 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6951 * @brief Get an const_iterator on the first element of the ${class}.
6952 * @return The const_iterator.
6956 operation 159106 "end"
6957 const public return_type class_ref 144770 // const_iterator
6959 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
6961 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
6968 * @brief Get an const_iterator on the end of the ${class}.
6969 * @return The const_iterator.
6973 operation 157826 "operator=="
6974 const public explicit_return_type "bool"
6976 param in name "parameterList" type class_ref 131074 // ParameterList
6977 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6979 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
6986 * \\brief Are two ${class} equals ?
6987 * \\param ${p0} the ${t0} to compare with.
6992 operation 157954 "printToStream"
6993 const public return_type class_ref 152194 // ostream
6995 param inout name "flux" type class_ref 152194 // ostream
6996 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
6998 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7005 * \\brief print the ${class} into a flux
7006 * \\param flux The stream to print into.
7010 operation 158082 "toStream"
7011 const public return_type class_ref 152194 // ostream
7013 param inout name "flux" type class_ref 152194 // ostream
7014 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7016 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7023 * \\brief Save the ${class} into a stream.
7024 * \\param flux the stream to save the ${class} into.
7025 * \\return The stream with the ${class}.
7029 operation 158210 "fromStream"
7030 public return_type class_ref 152322 // istream
7032 param inout name "flux" type class_ref 152322 // istream
7033 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7035 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7042 * \\brief Restore a ${class} from a stream.
7043 * \\param flux The stream containing the ${class} to restore.
7044 * @todo call update_observers or not ?
7049 class 134786 "PseudoAxe"
7051 cpp_decl "${description}${template}class ${name}${inherit} {
7057 explicit_switch_type ""
7059 classrelation 136322 // <generalisation>
7060 relation 135938 ---|>
7062 cpp default "${type}"
7063 classrelation_ref 136322 // <generalisation>
7064 b multiplicity "" parent class_ref 129282 // ObjectReadOnly
7067 classrelation 181250 // <dependency>
7068 relation 178434 -_->
7071 cpp default "${type}"
7072 classrelation_ref 181250 // <dependency>
7073 b multiplicity "" parent class_ref 134914 // PseudoAxeEngine
7076 attribute 149378 "min"
7077 protected type class_ref 128060 // Value
7078 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
7084 attribute 140034 "read"
7085 protected type class_ref 128060 // Value
7086 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
7092 attribute 140162 "write"
7093 protected type class_ref 128060 // Value
7094 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
7100 attribute 149506 "max"
7101 protected type class_ref 128060 // Value
7102 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
7108 classrelation 136450 // engine (<directional aggregation>)
7109 relation 136066 o-->
7110 a role_name "engine" multiplicity "1" protected
7111 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * _${name}${value};
7113 classrelation_ref 136450 // engine (<directional aggregation>)
7114 b multiplicity "" parent class_ref 134914 // PseudoAxeEngine
7117 operation 195330 "PseudoAxe"
7118 public explicit_return_type ""
7120 param in name "name" type class_ref 129026 // string
7121 param in name "description" type class_ref 129026 // string
7122 param inout name "engine" type class_ref 134914 // PseudoAxeEngine
7123 cpp_decl " ${comment}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} * ${p2}${)}${volatile}${throw};
7125 cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} * ${p2}${)}${volatile}${throw} :
7126 ObjectReadOnly(name, description),
7133 comment "@brief The default constructor.
7134 @param name The name of the PseudoAxeTemp.
7135 @param description The description of the PseudoAxeTemp.
7136 @param engine The engine use to compute the pseudoAxes value.
7137 @todo be sure to be consistant with ModeTemp.
7141 operation 229762 "relatedAxes"
7142 public explicit_return_type "AxeList"
7144 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7146 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7154 operation 195458 "initialize"
7155 public explicit_return_type "void"
7158 exception class_ref 128182 // HKLException
7159 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7161 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7168 * @brief Initialize the pseudoAxe.
7169 * This method must be call before using a pseudoAxe.
7173 operation 195586 "uninitialize"
7174 public explicit_return_type "void"
7176 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7178 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7185 * @brief uninitialize the PseudoAxe.
7186 * Uninitialize a PseudoAxe if you do not whant to use it.
7190 operation 195714 "is_initialized"
7191 const public explicit_return_type "bool"
7193 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7195 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7202 * @brief Get the initialized state of the PseudoAxe.
7203 * @return A bool fill with the initialized state of the PseudoAxe.
7207 operation 195842 "is_readable"
7208 const public explicit_return_type "bool"
7210 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7212 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7219 * @brief Get the readabled state of the PseudoAxe.
7220 * @return A bool fill with the readable state of the PseudoAxe.
7224 operation 195970 "is_writable"
7225 const public explicit_return_type "bool"
7227 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7229 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7236 * @brief Get the writable state of the PseudoAxe.
7237 * @return A bool fill with the writable state of the PseudoAxe.
7241 operation 196098 "get_min"
7242 const public return_type class_ref 128060 // Value
7245 exception class_ref 128182 // HKLException
7246 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7248 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7255 * @brief Get the min Value of the PseudoAxe.
7256 * @return A Value fill with the minimum value of the PseudoAxe.
7257 * @throw HKLException if the PseudoAxe is not readable.
7261 operation 196226 "get_current"
7262 const public return_type class_ref 128060 // Value
7265 exception class_ref 128182 // HKLException
7266 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7268 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7275 * @brief Get the current Value of the PseudoAxe.
7276 * @return A Value fill with the current value of the PseudoAxe.
7277 * @throw HKLException if the PseudoAxe is not readable.
7281 operation 231426 "get_current_write"
7282 const public return_type class_ref 128060 // Value
7285 exception class_ref 128182 // HKLException
7286 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7288 cpp_def "${comment}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7294 comment "@brief Get the current Value of the PseudoAxe.
7295 @return A Value fill with the current write value of the PseudoAxe.
7296 @throw HKLException if the PseudoAxe is not readable.
7300 operation 196354 "get_max"
7301 const public return_type class_ref 128060 // Value
7304 exception class_ref 128182 // HKLException
7305 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7307 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7314 * @brief Get the maximum Value of the PseudoAxe.
7315 * @return A Value fill with the maximum Value of the PseudoAxe.
7316 * @throw HKLException if the PseudoAxe is not readable.
7320 operation 196482 "set_current"
7321 public explicit_return_type "void"
7323 param in name "value" type class_ref 128060 // Value
7325 exception class_ref 128182 // HKLException
7326 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7328 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7335 * @brief Set the current value of the PseudoAxe.
7336 * @param value The Value to set.
7337 * @throw HKLException If the PseudoAxe is not writable.
7339 * This method set the write part of the pseudoAxe and compute
7340 * the corresponding geometry using the engine.
7344 operation 196610 "set_engine"
7345 public explicit_return_type "void"
7347 param inout name "engine" type class_ref 134914 // PseudoAxeEngine
7348 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
7350 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
7357 * @brief Set the engine use by the PseudoAxe.
7358 * @param engine The engine to set.
7360 * This method is only use by the DerivedPseudoAxeEngine to modify
7361 * the engine part of the PseudoAxe.
7365 operation 229890 "set_write_from_read"
7366 public explicit_return_type "void"
7368 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7370 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7378 operation 196738 "parameters"
7379 public return_type class_ref 131074 // ParameterList
7381 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7383 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7391 operation 196866 "operator=="
7392 const public explicit_return_type "bool"
7394 param in name "pseudoAxe" type class_ref 134786 // PseudoAxe
7395 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7397 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7404 * \\brief Are two ${class} equals ?
7405 * \\param ${p0} the ${t0} to compare with.
7406 * \\return true if both are equals flase otherwise.
7410 operation 196994 "printToStream"
7411 const public return_type class_ref 152194 // ostream
7413 param inout name "flux" type class_ref 152194 // ostream
7414 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7416 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7423 * @brief print the ${class} into a flux
7424 * @param ${p0} The stream to print into.
7425 * @return The modified flux.
7430 class 134914 "PseudoAxeEngine"
7431 abstract visibility package
7432 cpp_decl "${description}${template}class ${name}${inherit} {
7438 explicit_switch_type ""
7440 classrelation 135682 // <generalisation>
7441 relation 135298 ---|>
7443 cpp default "${type}"
7444 classrelation_ref 135682 // <generalisation>
7445 b multiplicity "" parent class_ref 131202 // HKLObject
7448 operation 197122 "PseudoAxeEngine"
7449 protected explicit_return_type ""
7451 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
7453 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
7454 HKLObject(\"engine\", \"engine\")
7462 operation 197250 "~PseudoAxeEngine"
7463 cpp_virtual public explicit_return_type ""
7465 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
7467 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
7474 * @brief The default destructor.
7478 operation 197378 "relatedAxes"
7479 abstract cpp_virtual public explicit_return_type "AxeList"
7481 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7486 * @brief Get the related axes of the PseudoAxeEngine.
7487 * @return The related axes of the PseudoAxeEngine.
7491 operation 197506 "pseudoAxes"
7492 abstract cpp_virtual public return_type class_ref 135042 // PseudoAxeList
7494 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7499 * @brief Get the PseudoAxeList axes of the PseudoAxeEngine.
7500 * @return The PseudoAxeList axes of the PseudoAxeEngine.
7504 operation 197634 "is_initialized"
7505 abstract const cpp_virtual public explicit_return_type "bool"
7507 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7512 * @brief Get the initialization state of the pseudoAxe.
7516 operation 197762 "is_readable"
7517 abstract const cpp_virtual public explicit_return_type "bool"
7519 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7524 * @brief Get the readable state of the pseudoAxe
7525 * During the get_value and set_value method, the peusoAxe can be set unreadable.
7529 operation 197890 "is_writable"
7530 abstract const cpp_virtual public explicit_return_type "bool"
7532 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7537 * @brief Get the writable state of the pseudoAxe.
7538 * During the get_value and set_value method, the peusoAxe can be set unwritable.
7542 operation 198018 "initialize"
7543 abstract cpp_virtual public explicit_return_type "void"
7546 exception class_ref 128182 // HKLException
7547 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7552 * @brief Initialize the pseudoAxe.
7554 * This method must be call before using a pseudoAxe.
7558 operation 198146 "uninitialize"
7559 abstract cpp_virtual public explicit_return_type "void"
7561 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7566 * @brief Un-Initialize the pseudoAxe.
7567 * This method must be call to un-initialize a pseudoAxe.
7571 operation 198274 "set"
7572 abstract cpp_virtual public explicit_return_type "void"
7575 exception class_ref 128182 // HKLException
7576 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7581 * @brief set the current value of the PseudoAxe.
7582 * @throw HKLException if the pseudoAxe is not ready to be set.
7586 operation 257154 "set_pseudoAxe_read_part"
7587 protected explicit_return_type "void"
7589 param inout name "pseudoAxe" type class_ref 134786 // PseudoAxe
7590 param in name "min" explicit_type "double"
7591 param in name "current" explicit_type "double"
7592 param inout name "max" explicit_type "double"
7593 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} & ${p3}${)}${const}${volatile}${throw}${abstract};
7595 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} * ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} & ${p3}${)}${const}${volatile}${throw}${staticnl}
7601 comment "@brief Set the read part of a PseudoAxe without calling the set methode of the engine
7602 @param ${p0} the ${t0} to set
7603 @param ${p1} the minimum value to set
7604 @param ${p2} the current value to set
7605 @param ${p3} The maximum value to set"
7609 class 135426 "PseudoAxeEngineList"
7611 cpp_decl "${description}${template}class ${name}${inherit} {
7617 explicit_switch_type ""
7619 classrelation 137346 // _pseudoAxeEngines (<directional aggregation>)
7620 relation 136962 o-->
7622 a role_name "_pseudoAxeEngines" multiplicity "*" protected
7623 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
7625 classrelation_ref 137346 // _pseudoAxeEngines (<directional aggregation>)
7626 b multiplicity "" parent class_ref 134914 // PseudoAxeEngine
7629 classrelation 137218 // _pseudoAxes (<directional aggregation by value>)
7630 relation 136834 *-->
7631 a role_name "_pseudoAxes" multiplicity "1" protected
7632 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
7634 classrelation_ref 137218 // _pseudoAxes (<directional aggregation by value>)
7635 b multiplicity "" parent class_ref 135042 // PseudoAxeList
7638 operation 203010 "pseudoAxes"
7639 public return_type class_ref 135042 // PseudoAxeList
7641 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7643 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7651 operation 203138 "push_back"
7652 public explicit_return_type "void"
7654 param in name "pseudoAxeEngine" type class_ref 134914 // PseudoAxeEngine
7655 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
7657 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
7665 operation 203394 "clear"
7666 public explicit_return_type "void"
7668 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7670 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7678 operation 202370 "operator=="
7679 const public explicit_return_type "bool"
7681 param in name "pseudoAxeEngineList" type class_ref 135426 // PseudoAxeEngineList
7682 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7684 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7691 * \\brief Are two ${class} equals ?
7692 * \\param ${p0} the ${t0} to compare with.
7693 * \\return true if both are equals flase otherwise.
7697 operation 202498 "printToStream"
7698 const public return_type class_ref 152194 // ostream
7700 param inout name "flux" type class_ref 152194 // ostream
7701 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7703 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7710 * @brief print the ${class} into a flux
7711 * @param ${p0} The stream to print into.
7712 * @return The modified flux.
7716 operation 202626 "toStream"
7717 const public return_type class_ref 152194 // ostream
7719 param inout name "flux" type class_ref 152194 // ostream
7720 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7722 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7729 * @brief print on a stream the content of the ${class}
7730 * @param flux the ostream to modify.
7731 * @return the modified ostream
7735 operation 202754 "fromStream"
7736 public return_type class_ref 152322 // istream
7738 param inout name "flux" type class_ref 152322 // istream
7739 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7741 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
7748 * @brief restore the content of the ${class} from an istream
7749 * @param flux the istream.
7750 * @return the modified istream.
7751 * @todo problem of security here.
7756 class 135170 "PseudoAxeEngineTemp"
7759 formal name "T" type "class" explicit_default_value ""
7761 cpp_decl "${description}${template}class ${name}${inherit} {
7767 explicit_switch_type ""
7769 classrelation 135810 // <generalisation>
7770 relation 135426 ---|>
7772 cpp default "${type}"
7773 classrelation_ref 135810 // <generalisation>
7774 b multiplicity "" parent class_ref 134914 // PseudoAxeEngine
7777 classrelation 135938 // <generalisation>
7778 relation 135554 ---|>
7780 cpp default "${type}"
7781 classrelation_ref 135938 // <generalisation>
7782 b multiplicity "" parent class_ref 129538 // Observer
7785 attribute 144130 "relatedAxes"
7786 protected type class_ref 145410 // AxeList
7787 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
7793 attribute 139522 "geometry"
7794 protected explicit_type "T"
7795 cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} & _${name}${value};
7801 attribute 139650 "initialized"
7802 protected explicit_type "bool"
7803 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} _${name}${value};
7809 attribute 139778 "readable"
7810 protected explicit_type "bool"
7811 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} _${name}${value};
7817 attribute 139906 "writable"
7818 protected explicit_type "bool"
7819 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} _${name}${value};
7825 classrelation 136194 // pseudoAxes (<directional aggregation by value>)
7826 relation 135810 *-->
7827 a role_name "pseudoAxes" multiplicity "1" protected
7828 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
7830 classrelation_ref 136194 // pseudoAxes (<directional aggregation by value>)
7831 b multiplicity "" parent class_ref 135042 // PseudoAxeList
7834 class 135298 "value_type"
7835 visibility package stereotype "typedef" explicit_base_type "T"
7836 cpp_decl "${description}typedef ${type} ${name};
7839 idl_decl "${comment}typedef ${type} ${name};
7841 explicit_switch_type ""
7845 operation 198402 "PseudoAxeEngineTemp"
7846 protected explicit_return_type ""
7848 param inout name "geometry" explicit_type "T"
7849 param in name "initialized" explicit_type "bool"
7850 param in name "readable" explicit_type "bool"
7851 param in name "writable" explicit_type "bool"
7852 cpp_decl " ${description}${inline}${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${volatile}${throw};
7854 cpp_def "${description}${inline}${class}::${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${volatile}${throw} :
7857 _geometry(geometry),
7858 _initialized(initialized),
7859 _readable(readable),
7867 * @brief The default constructor.
7868 * @param geometry The Geometry use to compute the pseudoAxes values.
7869 * @param initialized the initial state of the PseudoAxeEngine.
7870 * @param readable The initial readable state of the PseudoAxeEngine.
7871 * @param writable The initial writable state of the PseudoAxeEngine.
7872 * @todo be sure to be consistant with ModeTemp.
7876 operation 198530 "~PseudoAxeEngineTemp"
7877 cpp_virtual public explicit_return_type ""
7879 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
7881 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
7889 operation 198658 "is_initialized"
7890 const cpp_virtual public explicit_return_type "bool"
7892 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7894 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7901 * @brief Get the initialization state of the pseudoAxe.
7905 operation 198914 "is_readable"
7906 const cpp_virtual public explicit_return_type "bool"
7908 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7910 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7917 * @brief Get the readable state of the pseudoAxe
7918 * During the get_value and set_value method, the peusoAxe can be set unreadable.
7922 operation 199042 "is_writable"
7923 const cpp_virtual public explicit_return_type "bool"
7925 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7927 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7934 * @brief Get the writable state of the pseudoAxe.
7935 * During the get_value and set_value method, the peusoAxe can be set unwritable.
7939 operation 202882 "pseudoAxes"
7940 cpp_virtual public return_type class_ref 135042 // PseudoAxeList
7942 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7944 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7951 * @brief Get the PseudoAxeList axes of the PseudoAxeEngine.
7952 * @return The PseudoAxeList axes of the PseudoAxeEngine.
7956 operation 199170 "relatedAxes"
7957 cpp_virtual public explicit_return_type "AxeList"
7959 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
7961 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7968 * @brief Get the related axes of the PseudoAxeEngine.
7969 * @return The related axes of the PseudoAxeEngine.
7973 operation 199426 "uninitialize"
7974 cpp_virtual public explicit_return_type "void"
7976 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
7978 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
7985 * @brief Un-Initialize the pseudoAxe.
7986 * This method must be call to un-initialize a pseudoAxe.
7990 operation 199554 "operator=="
7991 const public explicit_return_type "bool"
7993 param in name "pseudoAxeEngineTemp" type class_ref 135170 // PseudoAxeEngineTemp
7994 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
7996 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8003 * \\brief Are two ${class} equals ?
8004 * \\param ${p0} the ${t0} to compare with.
8005 * \\return true if both are equals flase otherwise.
8009 operation 199682 "printToStream"
8010 const public return_type class_ref 152194 // ostream
8012 param inout name "flux" type class_ref 152194 // ostream
8013 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8015 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8022 * @brief print the ${class} into a flux
8023 * @param ${p0} The stream to print into.
8024 * @return The modified flux.
8028 operation 199810 "toStream"
8029 const public return_type class_ref 152194 // ostream
8031 param inout name "flux" type class_ref 152194 // ostream
8032 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8034 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8041 * @brief print on a stream the content of the ${class}
8042 * @param flux the ostream to modify.
8043 * @return the modified ostream
8047 operation 199938 "fromStream"
8048 public return_type class_ref 152322 // istream
8050 param inout name "flux" type class_ref 152322 // istream
8051 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8053 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8060 * @brief restore the content of the ${class} from an istream
8061 * @param flux the istream.
8062 * @return the modified istream.
8063 * @todo problem of security here.
8068 class 144898 "PseudoAxeEngineWithSampleTemp"
8071 formal name "T" type "class" explicit_default_value ""
8074 actual class class_ref 135170 // PseudoAxeEngineTemp
8075 rank 0 explicit_value "T"
8076 cpp_decl "${description}${template}class ${name}${inherit} {
8082 explicit_switch_type ""
8084 classrelation 162050 // <generalisation>
8085 relation 161666 ---|>
8087 cpp default "${type}"
8088 classrelation_ref 162050 // <generalisation>
8089 b multiplicity "" parent class_ref 135170 // PseudoAxeEngineTemp
8092 classrelation 162178 // samples (<directional aggregation>)
8093 relation 161794 o-->
8094 a role_name "samples" multiplicity "" protected
8095 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * & _${name}${value};
8097 classrelation_ref 162178 // samples (<directional aggregation>)
8098 b multiplicity "" parent class_ref 134402 // SampleList
8101 operation 231810 "PseudoAxeEngineWithSampleTemp"
8102 public explicit_return_type ""
8104 param inout name "geometry" explicit_type "T"
8105 param inout name "samples" type class_ref 134402 // SampleList
8106 param in name "initialized" explicit_type "bool"
8107 param in name "readable" explicit_type "bool"
8108 param in name "writable" explicit_type "bool"
8109 cpp_decl " ${description}${inline}${name}${(}${t0} & ${p0}, ${t1} *& ${p1}, ${t2} ${p2}, ${t3} ${p3}, ${t4} ${p4}${)}${volatile}${throw};
8111 cpp_def "${description}${inline}${class}::${name}${(}${t0} & ${p0}, ${t1} *& ${p1}, ${t2} ${p2}, ${t3} ${p3}, ${t4} ${p4}${)}${volatile}${throw} :
8112 hkl::PseudoAxeEngineTemp<T>(geometry, initialized, readable, writable),
8121 operation 231938 "~PseudoAxeEngineWithSampleTemp"
8122 cpp_virtual public explicit_return_type ""
8124 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
8126 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
8135 class 135042 "PseudoAxeList"
8137 cpp_decl "${description}${template}class ${name}${inherit} {
8142 idl_decl "${comment}typedef ${type} ${name};
8144 explicit_switch_type ""
8146 classrelation 137474 // _pseudoAxes (<directional aggregation>)
8147 relation 137090 o-->
8149 a role_name "_pseudoAxes" multiplicity "*" protected
8150 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
8152 classrelation_ref 137474 // _pseudoAxes (<directional aggregation>)
8153 b multiplicity "" parent class_ref 134786 // PseudoAxe
8156 class 135938 "iterator"
8157 visibility package stereotype "typedef" base_type class_ref 134786 // PseudoAxe
8158 cpp_decl "${description}typedef std::vector<${type}*>::iterator ${name};
8161 idl_decl "${comment}typedef ${type} ${name};
8163 explicit_switch_type ""
8167 class 136066 "const_iterator"
8168 visibility package stereotype "typedef" base_type class_ref 134786 // PseudoAxe
8169 cpp_decl "${description}typedef std::vector<${type}*>::const_iterator ${name};
8172 idl_decl "${comment}typedef ${type} ${name};
8174 explicit_switch_type ""
8178 operation 203522 "push_back"
8179 public explicit_return_type "void"
8181 param inout name "pseudoAxe" type class_ref 134786 // PseudoAxe
8183 exception class_ref 128182 // HKLException
8184 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${abstract};
8186 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${throw}${staticnl}
8194 operation 203650 "begin"
8195 public explicit_return_type "PseudoAxeList::iterator"
8197 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8199 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8207 operation 203778 "end"
8208 public explicit_return_type "PseudoAxeList::iterator"
8210 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8212 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8220 operation 203906 "begin"
8221 const public explicit_return_type "PseudoAxeList::const_iterator"
8223 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8225 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8233 operation 204034 "end"
8234 const public explicit_return_type "PseudoAxeList::const_iterator"
8236 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8238 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8246 operation 211202 "get_names"
8247 const public explicit_return_type "std::vector<std::string>"
8249 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8251 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8258 * @brief Get all the names of the PseudoAxes in the ${class}
8262 operation 211074 "operator[]"
8263 public return_type class_ref 134786 // PseudoAxe
8265 param in name "name" type class_ref 129026 // string
8266 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8268 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8275 * @brief Get an element of the ${class}.
8276 * @param ${p0} The name of the PseudoAxe to find.
8277 * @return A pointer on the PseudoAxe or NULL if the pseudoAxe is not present in the ${class}
8281 operation 231682 "size"
8282 const public explicit_return_type "uint"
8284 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8286 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8293 * @brief Get the size of the ${class}.
8294 * @return the number of element in the ${class}.
8298 operation 204162 "clear"
8299 public explicit_return_type "void"
8301 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8303 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8311 operation 230274 "set_write_from_read"
8312 public explicit_return_type "void"
8314 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8316 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8324 operation 231554 "printToStream"
8325 const public return_type class_ref 152194 // ostream
8327 param inout name "flux" type class_ref 152194 // ostream
8328 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8330 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8337 * \\brief print the ${class} into a flux
8338 * \\param flux The stream to print into.
8343 class 128770 "Quaternion"
8345 cpp_decl "${comment}${template}class ${name}${inherit} {
8346 friend class smatrix;
8352 explicit_switch_type ""
8354 comment "@todo Add the set unit Test"
8355 attribute 130434 "_a"
8356 protected explicit_type "double"
8357 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
8363 attribute 130562 "_b"
8364 protected explicit_type "double"
8365 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
8371 attribute 130690 "_c"
8372 protected explicit_type "double"
8373 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
8379 attribute 130818 "_d"
8380 protected explicit_type "double"
8381 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
8387 operation 135682 "Quaternion"
8388 stereotype "constructor"
8389 public explicit_return_type ""
8391 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
8393 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
8404 * \\brief Default constructor
8406 * Create a new quaternion and set all its components to 0.0
8410 operation 135810 "Quaternion"
8411 stereotype "constructor"
8412 public explicit_return_type ""
8414 param in name "a" explicit_type "double"
8415 param in name "b" explicit_type "double"
8416 param in name "c" explicit_type "double"
8417 param in name "d" explicit_type "double"
8418 cpp_decl " ${description}${inline}${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${volatile}${throw};
8420 cpp_def "${description}${inline}${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${volatile}${throw} :
8431 * \\brief This constructor creates a quaternion and populates it
8437 * Create a new quaternion with a, b, c and d as coordinates.
8441 operation 140034 "Quaternion"
8442 stereotype "constructor"
8443 public explicit_return_type ""
8445 param in name "v" type class_ref 128002 // svector
8446 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
8448 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw}
8455 * \\brief This constructor creates a quaternion and populates it
8458 * Create a new quaternion from a svector.
8462 operation 140162 "Quaternion"
8463 stereotype "constructor"
8464 public explicit_return_type ""
8466 param in name "angle" explicit_type "double"
8467 param in name "v" type class_ref 128002 // svector
8468 cpp_decl " ${description}${inline}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
8470 cpp_def "${description}${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${volatile}${throw}
8477 * \\brief This constructor creates a quaternion from an angle and a vector
8478 * \\param angle the rotation angle.
8479 * \\param v the axe of the rotation.
8483 operation 135938 "Quaternion"
8485 public explicit_return_type ""
8487 param in name "source" type class_ref 128770 // Quaternion
8488 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
8490 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
8501 * \\brief Copy constructor.
8502 * \\param q The Quaternion to copy from.
8506 operation 237058 "set"
8507 public explicit_return_type "void"
8509 param in name "a" explicit_type "double"
8510 param in name "b" explicit_type "double"
8511 param in name "c" explicit_type "double"
8512 param in name "d" explicit_type "double"
8513 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${const}${volatile}${throw}${abstract};
8515 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${const}${volatile}${throw}${staticnl}
8521 comment "@brief Set the Quaternion parameters
8522 @param ${p0} The 1st element.
8523 @param ${p1} The 2nd element.
8524 @param ${p2} The 3rd element.
8525 @param ${p3} The 4th element."
8528 operation 136322 "a"
8529 public explicit_return_type "double"
8531 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
8533 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8541 operation 136450 "b"
8542 public explicit_return_type "double"
8544 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
8546 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8554 operation 136578 "c"
8555 public explicit_return_type "double"
8557 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
8559 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8567 operation 140290 "d"
8568 public explicit_return_type "double"
8570 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
8572 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8580 operation 136706 "a"
8581 const public explicit_return_type "double"
8583 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
8585 cpp_def "${description}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8593 operation 136834 "b"
8594 const public explicit_return_type "double"
8596 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
8598 cpp_def "${description}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8606 operation 136962 "c"
8607 const public explicit_return_type "double"
8609 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
8611 cpp_def "${description}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8619 operation 140418 "d"
8620 const public explicit_return_type "double"
8622 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
8624 cpp_def "${description}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8632 operation 137090 "operator=="
8633 const public explicit_return_type "bool"
8635 param in name "q" type class_ref 128770 // Quaternion
8636 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8638 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8646 operation 141186 "operator+="
8647 public return_type class_ref 128770 // Quaternion
8649 param in name "q" type class_ref 128770 // Quaternion
8650 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8652 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8659 * \\brief Add a Quaternion to another one.
8660 * \\param q The Quaternion to add.
8661 * \\return A reference to the Quaternion which was added.
8665 operation 141314 "operator-="
8666 public return_type class_ref 128770 // Quaternion
8668 param in name "q" type class_ref 128770 // Quaternion
8669 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8671 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8678 * \\brief Substract a Quaternion to another one.
8679 * \\param q The Quaternion to substract.
8680 * \\return A reference to the Quaternion which was substracted.
8684 operation 137218 "operator*="
8685 public return_type class_ref 128770 // Quaternion
8687 param in name "q" type class_ref 128770 // Quaternion
8688 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8690 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8697 * \\brief Multiply a Quaternion to another one.
8698 * \\param q The Quaternion to multiply.
8699 * \\return A reference to the Quaternion which was multiplyed.
8703 operation 137602 "operator/="
8704 public return_type class_ref 128770 // Quaternion
8706 param in name "d" explicit_type "double"
8707 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8709 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8716 * \\brief Divide a Quaternion by a double.
8717 * \\param d The double to divide by.
8718 * \\return A reference to the Quaternion which was modified.
8722 operation 138626 "norm2"
8723 const public explicit_return_type "double"
8725 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8727 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8734 * \\brief Compute de norm of the Quaternion.
8735 * \\return The norme of the Quaternion.
8739 operation 140546 "conjugate"
8740 const public return_type class_ref 128770 // Quaternion
8742 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8744 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8751 * \\brief Compute the conjugated Quaternion.
8752 * \\return The conjugate Quaternion.
8756 operation 140674 "dotProduct"
8757 const public explicit_return_type "double"
8759 param in name "q" type class_ref 128770 // Quaternion
8760 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8762 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8769 * \\brief Compute the dot product of a Quaternion.
8770 * \\param q The Quaternion.
8771 * \\return The dot Product.
8775 operation 140802 "invert"
8776 const public return_type class_ref 128770 // Quaternion
8778 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8780 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8787 * \\brief Compute the invert Quaternion.
8788 * \\return The invert Quaternion.
8792 operation 140930 "asMatrix"
8793 const public return_type class_ref 128514 // smatrix
8795 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8797 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8804 * \\brief Compute the rotation matrix of a Quaternion.
8805 * \\return The rotation matrix of a Quaternion.
8807 * to convert a quaternion to a Matrix:
8808 * \\f$ q = a + b \\cdot i + c \\cdot j + d \\cdot k \\f$
8812 * \\begin{array}{ccc}
8813 * a^2+b^2-c^2-d^2 & 2bc-2ad & 2ac+2bd\\\\
8814 * 2ad+2bc & a^2-b^2+c^2-d^2 & 2cd-2ab\\\\
8815 * 2bd-2ac & 2ab+2cd & a^2-b^2-c^2+d^2
8822 operation 137858 "getAngleAndAxe"
8823 const public explicit_return_type "void"
8825 param inout name "angle" explicit_type "double"
8826 param inout name "axe" type class_ref 128002 // svector
8827 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}, ${t1} & ${p1}${)}${const}${volatile}${throw}${abstract};
8829 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} & ${p0}, ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}
8836 * \\brief Decompose a Quaternion into a rotation angle and an Axe of rotation.
8837 * \\param[out] angle The angle of the rotation will be strore in this variable.
8838 * \\param[out] axe The axe of rotation will be store in this variable.
8842 operation 141058 "getAxe"
8843 const public return_type class_ref 128002 // svector
8845 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
8847 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
8854 * @brief Get the rotating axe of the Quaternion.
8855 * @return The rotating axe of the Quaternion.
8859 operation 139522 "printToStream"
8860 const public return_type class_ref 152194 // ostream
8862 param inout name "flux" type class_ref 152194 // ostream
8863 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8865 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8873 operation 139650 "toStream"
8874 const public return_type class_ref 152194 // ostream
8876 param inout name "flux" type class_ref 152194 // ostream
8877 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8879 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8887 operation 139778 "fromStream"
8888 public return_type class_ref 152322 // istream
8890 param inout name "flux" type class_ref 152322 // istream
8891 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
8893 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
8900 * \\brief Restore a ${class} from a stream.
8901 * \\param flux The stream containing the ${class} to restore.
8906 class 129794 "Range"
8908 cpp_decl "${comment}${template}class ${name}${inherit} {
8914 explicit_switch_type ""
8916 classrelation 129794 // min (<directional aggregation by value>)
8917 relation 129538 *-->
8918 a role_name "min" multiplicity "1" protected
8919 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
8921 classrelation_ref 129794 // min (<directional aggregation by value>)
8922 b multiplicity "" parent class_ref 128060 // Value
8923 get_oper operation_ref 150402 // get_min
8926 classrelation 129922 // current (<directional aggregation by value>)
8927 relation 129666 *-->
8928 a role_name "current" multiplicity "1" protected
8929 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
8931 classrelation_ref 129922 // current (<directional aggregation by value>)
8932 b multiplicity "" parent class_ref 128060 // Value
8933 get_oper operation_ref 258818 // get_current
8936 classrelation 182402 // consign (<directional aggregation by value>)
8937 relation 179586 *-->
8938 a role_name "consign" multiplicity "1" protected
8939 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
8941 classrelation_ref 182402 // consign (<directional aggregation by value>)
8942 b multiplicity "" parent class_ref 128060 // Value
8943 get_oper operation_ref 258562 // get_consign
8946 classrelation 130050 // max (<directional aggregation by value>)
8947 relation 129794 *-->
8948 a role_name "max" multiplicity "1" protected
8949 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} _${name}${value};
8951 classrelation_ref 130050 // max (<directional aggregation by value>)
8952 b multiplicity "" parent class_ref 128060 // Value
8953 get_oper operation_ref 258690 // get_max
8956 operation 149506 "Range"
8957 stereotype "constructor"
8958 public explicit_return_type ""
8960 cpp_decl " ${comment}${inline}${name}${(}${)}${volatile}${throw};
8962 cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} :
8972 comment "@brief The default constructor.
8976 operation 150018 "Range"
8977 stereotype "constructor"
8978 public explicit_return_type ""
8980 param in name "min" type class_ref 128060 // Value
8981 param in name "current" type class_ref 128060 // Value
8982 param in name "consign" type class_ref 128060 // Value
8983 param in name "max" type class_ref 128060 // Value
8985 exception class_ref 128182 // HKLException
8986 cpp_decl " ${comment}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${volatile}${throw};
8988 cpp_def "${comment}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}, const ${t3} & ${p3}${)}${volatile}${throw}
8994 comment "@brief constructor of the ${class} class.
8996 @param ${p0} The minimum value of the ${class}.
8997 @param ${p1} The current value of the ${class}.
8998 @param ${p2} The consign value of the ${class}.
8999 @param ${p3} The maximum value of the ${class}.
9000 @throw HKLException if not min < current, consign < max; "
9003 operation 149762 "Range"
9005 public explicit_return_type ""
9007 param in name "source" type class_ref 129794 // Range
9008 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
9010 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
9012 _current(source._current),
9013 _consign(source._consign),
9022 operation 150402 "get_min"
9023 cpp_frozen const cpp_inline public return_type class_ref 128060 // Value
9025 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw};
9027 cpp_def "${comment}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9032 cpp_name_spec "get_${name}"
9034 java_name_spec "get_${name}"
9036 idl_name_spec "get_${name}"
9037 get_of_relation classrelation_ref 129794 // min (<directional aggregation by value>)
9038 comment "@brief Get the _min Value of the ${class} class.
9039 @return The minimum Value.
9043 operation 258818 "get_current"
9044 const cpp_inline public return_type class_ref 128060 // Value
9046 cpp_decl " ${comment}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw};
9048 cpp_def "${comment}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9053 cpp_name_spec "get_${name}"
9055 java_name_spec "get${name}"
9057 idl_name_spec "get${name}"
9058 get_of_relation classrelation_ref 129922 // current (<directional aggregation by value>)
9059 comment "@brief Get the _current Value of the ${class} class.
9060 @return The current Value."
9063 operation 258562 "get_consign"
9064 cpp_frozen const cpp_inline public return_type class_ref 128060 // Value
9066 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw};
9068 cpp_def "${comment}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9073 cpp_name_spec "get_${name}"
9075 java_name_spec "get${name}"
9077 idl_name_spec "get${name}"
9078 get_of_relation classrelation_ref 182402 // consign (<directional aggregation by value>)
9081 operation 258690 "get_max"
9082 const cpp_inline public return_type class_ref 128060 // Value
9084 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw};
9086 cpp_def "${comment}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9091 cpp_name_spec "get_${name}"
9093 java_name_spec "get${name}"
9095 idl_name_spec "get${name}"
9096 get_of_relation classrelation_ref 130050 // max (<directional aggregation by value>)
9097 comment "@brief Get the _max Value of the ${class} class.
9098 @return The maximum Value.
9102 operation 150274 "set_current"
9103 public explicit_return_type "void"
9105 param in name "current" type class_ref 128060 // Value
9107 exception class_ref 128182 // HKLException
9108 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9110 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9116 comment "@brief Set the _current ${t0} of the ${class} class.
9117 @param ${p0} The ${t0} to set.
9118 @throw An HKLException if the current ${t0} in not between min and max.
9122 operation 150786 "set_current"
9123 public explicit_return_type "void"
9125 param in name "current" explicit_type "double"
9126 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${abstract};
9128 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
9134 comment "@brief Set the _current ${t0} of the ${class} class.
9135 @param ${p0} The ${t0} to set.
9137 This method do not check for the validity of the ${class}. This method
9138 is requiered by the simplex affinement.
9142 operation 258946 "set_consign"
9143 public explicit_return_type "void"
9145 param in name "consign" type class_ref 128060 // Value
9147 exception class_ref 128182 // HKLException
9148 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9150 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9156 comment "@brief Set the consign ${t0} of the ${class} class.
9157 @param ${p0} The ${t0} to set.
9158 @throw An HKLException if the consign ${t0} in not in between min and max.
9162 operation 150914 "set_range"
9163 public explicit_return_type "void"
9165 param in name "min" type class_ref 128060 // Value
9166 param in name "max" type class_ref 128060 // Value
9168 exception class_ref 128182 // HKLException
9169 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${abstract};
9171 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}
9177 comment "@brief Set the minimum and the maximum of the ${class} class.
9178 @param ${p0} The minimum ${t0} to set.
9179 @param ${p1} The maximum ${t1} to set.
9180 @throw HKLException if the new ${class} is not valid.
9181 @todo maybe split in set_min and set_max
9183 this method check that the new minimun is not bigger than the current or the consign
9184 value of the ${class} and than the maximum is not lower than the current or consign.
9188 operation 151042 "set"
9189 public explicit_return_type "void"
9191 param in name "min" explicit_type "double"
9192 param in name "current" explicit_type "double"
9193 param in name "consign" explicit_type "double"
9194 param in name "max" explicit_type "double"
9195 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${const}${volatile}${throw}${abstract};
9197 cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}${)}${const}${volatile}${throw}${staticnl}
9203 comment "@brief Set the minimum and the maximum of the ${class} class.
9204 @param ${p0} The minimum ${t0} to set.
9205 @param ${p1} The current ${t1} to set.
9206 @param ${p2} The consign ${t2} to set.
9207 @param ${p3} The maximum ${t2} to set.
9208 @throw HKLException if the new ${class} is not valid.
9210 this method do not check that the new minimun is not bigger than the current
9211 value of the range and greater than the maximum.
9215 operation 151170 "set"
9216 public explicit_return_type "void"
9218 param in name "range" type class_ref 129794 // Range
9219 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9221 cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9227 comment "@brief Set a ${class} from another one.
9228 @param ${p0} The ${t0} to set.
9230 this method set only the _min, _current, _consign and _max Value of the ${class}.
9234 operation 151298 "operator*="
9235 public return_type class_ref 129794 // Range
9237 param in name "range" type class_ref 129794 // Range
9238 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9240 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9247 * @brief Multiply a ${class} by another one.
9248 * @param ${p0} The ${class} to multiply by.
9249 * @return A ${class} ref on the ${class} after the multiplication.
9251 * This method modify min, current and max to reflect the multiplication.
9256 operation 151426 "operator*="
9257 public return_type class_ref 129794 // Range
9259 param in name "d" explicit_type "double"
9260 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9262 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9269 * @brief Multiply a ${class} by a ${t0} value.
9270 * @param ${p0} The ${t0} value.
9271 * @return The ${class} after the multiplication.
9273 * This method modify min, current and max to reflect the multiplication.
9278 operation 151554 "contain_zero"
9279 const public explicit_return_type "bool"
9281 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
9283 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9290 * @brief check if the ${class} contain zero.
9291 * @return true if zero is include in between min, max.
9296 operation 151682 "operator=="
9297 const public explicit_return_type "bool"
9299 param in name "range" type class_ref 129794 // Range
9300 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9302 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9309 * \\brief Are two ${class} equals ?
9310 * \\param ${p0} the ${t0} to compare with.
9315 operation 151810 "printToStream"
9316 const public return_type class_ref 152194 // ostream
9318 param inout name "flux" type class_ref 152194 // ostream
9319 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9321 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9328 * \\brief print the ${class} into a flux
9329 * \\param flux The stream to print into.
9333 operation 151938 "toStream"
9334 const public return_type class_ref 152194 // ostream
9336 param inout name "flux" type class_ref 152194 // ostream
9337 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9339 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9346 * \\brief Save the ${class} into a stream.
9347 * \\param flux the stream to save the ${class} into.
9348 * \\return The stream with the ${class}.
9352 operation 152066 "fromStream"
9353 public return_type class_ref 152322 // istream
9355 param inout name "flux" type class_ref 152322 // istream
9356 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9358 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9365 * \\brief Restore a ${class} from a stream.
9366 * \\param flux The stream containing the ${class} to restore.
9367 * @todo call update_observers or not ?
9372 class 133122 "Reflection"
9373 abstract visibility package
9374 cpp_decl "${description}${template}class ${name}${inherit} {
9380 explicit_switch_type ""
9382 attribute 137218 "_geometry"
9383 protected type class_ref 131714 // Geometry
9384 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
9388 get_oper operation_ref 183810 // get_geometry
9391 attribute 137346 "_hkl"
9392 protected type class_ref 128002 // svector
9393 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
9397 get_oper operation_ref 184066 // get_hkl
9398 set_oper operation_ref 184194 // set_hkl
9401 attribute 137474 "_flag"
9402 protected explicit_type "bool"
9403 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
9409 attribute 137602 "_hkl_phi"
9410 protected type class_ref 128002 // svector
9411 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
9415 get_oper operation_ref 183938 // get_hkl_phi
9418 operation 183554 "Reflection"
9419 protected explicit_return_type ""
9421 param in name "geometry" type class_ref 131714 // Geometry
9422 param in name "hkl" type class_ref 128002 // svector
9423 param in name "flag" explicit_type "bool"
9424 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} ${p2}${)}${volatile}${throw};
9426 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}, ${t2} ${p2}${)}${volatile}${throw} :
9427 _geometry(geometry),
9436 * @brief Create a Reflection.
9438 * @param ${p0} The ${t0} of the reflection
9439 * @param ${p1} The hkl scattering vactor.
9440 * @param ${p2} if the reflection must be use during calculation.
9441 * @throw HKLException if the geometry is not valid.
9446 operation 214146 "~Reflection"
9447 cpp_virtual public explicit_return_type ""
9449 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
9451 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
9459 operation 183682 "clone"
9460 abstract const cpp_virtual public return_type class_ref 133122 // Reflection
9462 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
9467 * @brief Create a clone of the current Reflection
9468 * @return A pointer on the newly created Reflection.
9470 * do not forget to release the memory at the end with delete.
9475 operation 183810 "get_geometry"
9476 const cpp_inline public return_type class_ref 131714 // Geometry
9478 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw};
9480 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9485 cpp_name_spec "get${name}"
9487 java_name_spec "get${name}"
9489 idl_name_spec "get${name}"
9490 get_of_attribute attribute_ref 137218 // _geometry
9492 * @brief Get a constant reference on the geometry part of the Reflection.
9493 * @return the geometry part of the Reflecion.
9498 operation 184066 "get_hkl"
9499 const cpp_inline public return_type class_ref 128002 // svector
9501 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw};
9503 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9508 cpp_name_spec "get${name}"
9510 java_name_spec "get${name}"
9512 idl_name_spec "get${name}"
9513 get_of_attribute attribute_ref 137346 // _hkl
9515 * @brief Get a constant reference on the hkl scattering vector store in the Reflection.
9516 * @return The hkl coordinates in the crystal coordinates.
9521 operation 184194 "set_hkl"
9522 public explicit_return_type "void"
9524 param in name "value" type class_ref 128002 // svector
9525 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw};
9527 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9532 cpp_name_spec "set${name}"
9534 java_name_spec "set${name}"
9536 idl_name_spec "set${name}"
9537 set_of_attribute attribute_ref 137346 // _hkl
9539 * @brief Set the hkl scattering vector store in the Reflection.
9540 * @param hkl The scattering vector in the crystal coordinates to store in the Reflection.
9545 operation 183938 "get_hkl_phi"
9546 const cpp_inline public return_type class_ref 128002 // svector
9548 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw};
9550 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9555 cpp_name_spec "get${name}"
9557 java_name_spec "get${name}"
9559 idl_name_spec "get${name}"
9560 get_of_attribute attribute_ref 137602 // _hkl_phi
9562 * @brief Get a constant reference on the hkl scattering vector store to fasten the affinement calculation.
9563 * @return The hkl coordinates in the last Axe coordinates.
9568 operation 184322 "flag"
9569 const public explicit_return_type "bool"
9571 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
9573 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9580 * @brief Get a constant reference on the flag store in the Reflection.
9581 * @return The flag of the Reflection.
9583 * the flag is true when we use the reflection in the affinement, false otherwise.
9588 operation 184450 "flag"
9589 public explicit_return_type "bool"
9591 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
9593 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9600 * @brief Get a constant reference on the flag store in the Reflection.
9601 * @return The flag of the Reflection.
9603 * the flag is true when we use the reflection in the affinement, false otherwise.
9608 operation 184578 "computeAngle"
9609 const public return_type class_ref 128060 // Value
9611 param in name "hkl" type class_ref 128002 // svector
9612 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9614 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9621 * @brief compute the theoretical angle beetween two hkl vectors.
9622 * @param hkl The second scattering vector to compare with the Reflection internal hkl.
9623 * @return the angle between the two hkl.
9624 * @todo Maybe move this in the Sample and add a computeAngle(Reflection const & reflection)
9625 * @todo add the mathematical formula.
9630 operation 184706 "isColinear"
9631 const public explicit_return_type "bool"
9633 param in name "reflection" type class_ref 133122 // Reflection
9634 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9636 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9643 * @brief Check if two reflections are colinear.
9644 * @param reflection The reflection to compare with.
9645 * @return true if the reflections are colinear, false otherwise.
9646 * @todo Add the mathematical formula.
9651 operation 184834 "operator=="
9652 const public explicit_return_type "bool"
9654 param in name "reflection" type class_ref 133122 // Reflection
9655 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9657 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9664 * \\brief Are two ${class} equals ?
9665 * \\param ${p0} the ${t0} to compare with.
9666 * \\return true if both are equals flase otherwise.
9670 operation 184962 "printToStream"
9671 const public return_type class_ref 152194 // ostream
9673 param inout name "flux" type class_ref 152194 // ostream
9674 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9676 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9683 * @brief print the ${class} into a flux
9684 * @param ${p0} The stream to print into.
9685 * @return The modified flux.
9689 operation 185090 "toStream"
9690 const public return_type class_ref 152194 // ostream
9692 param inout name "flux" type class_ref 152194 // ostream
9693 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9695 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9702 * @brief print on a stream the content of the ${class}
9703 * @param flux the ostream to modify.
9704 * @return the modified ostream
9708 operation 185218 "fromStream"
9709 public return_type class_ref 152322 // istream
9711 param inout name "flux" type class_ref 152322 // istream
9712 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9714 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9721 * @brief restore the content of the ${class} from an istream
9722 * @param flux the istream.
9723 * @return the modified istream.
9724 * @todo problem of security here.
9729 class 133506 "ReflectionFactory"
9731 cpp_decl "${description}${template}class ${name}${inherit} {
9737 explicit_switch_type ""
9739 attribute 138114 "_geometry"
9740 protected type class_ref 131714 // Geometry
9741 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} & ${name}${value};
9747 attribute 138242 "_type"
9748 protected type class_ref 133250 // ReflectionType
9749 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
9755 operation 185730 "ReflectionFactory"
9756 public explicit_return_type ""
9758 param inout name "geometry" type class_ref 131714 // Geometry
9759 param in name "type" type class_ref 133250 // ReflectionType
9760 cpp_decl " ${description}${inline}${name}${(}${t0} & ${p0}, ${t1} ${p1}${)}${volatile}${throw};
9762 cpp_def "${description}${inline}${class}::${name}${(}${t0} & ${p0}, ${t1} ${p1}${)}${volatile}${throw} :
9763 _geometry(geometry),
9771 * @brief The default constructor.
9772 * @param geometry the Geometry use to fill the Reflection._geometry.
9773 * @param type the type of the Reflection.
9778 operation 185858 "create"
9779 const public return_type class_ref 133122 // Reflection
9782 exception class_ref 128182 // HKLException
9783 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
9785 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9792 * @brief Create a new reflection.
9793 * @return The created Reflection.
9799 class 133634 "ReflectionList"
9801 cpp_decl "${description}${template}class ${name}${inherit} {
9807 explicit_switch_type ""
9809 attribute 138370 "_geometry"
9810 protected type class_ref 131714 // Geometry
9811 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} & ${name}${value};
9817 classrelation 134402 // _reflectionFactory (<directional aggregation>)
9818 relation 134018 o-->
9819 a role_name "_reflectionFactory" multiplicity "1" protected
9820 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
9822 classrelation_ref 134402 // _reflectionFactory (<directional aggregation>)
9823 b multiplicity "" parent class_ref 133506 // ReflectionFactory
9826 classrelation 134530 // _reflections (<directional aggregation>)
9827 relation 134146 o-->
9829 a role_name "_reflections" multiplicity "*" protected
9830 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
9832 classrelation_ref 134530 // _reflections (<directional aggregation>)
9833 b multiplicity "" parent class_ref 133122 // Reflection
9836 class 133762 "iterator"
9837 visibility package stereotype "typedef" explicit_base_type "std::vector<Reflection *>::iterator"
9838 cpp_decl "${description}typedef ${type} ${name};
9841 idl_decl "${comment}typedef ${type} ${name};
9843 explicit_switch_type ""
9847 operation 185986 "ReflectionList"
9848 public explicit_return_type ""
9850 param in name "geometry" type class_ref 131714 // Geometry
9851 param in name "type" type class_ref 133250 // ReflectionType
9852 cpp_decl " ${description}${inline}${name}${(}${t0} & ${p0}, ${t1} ${p1}${)}${volatile}${throw};
9854 cpp_def "${description}${inline}${class}::${name}${(}${t0} & ${p0}, ${t1} ${p1}${)}${volatile}${throw} :
9862 * @brief Default constructor
9863 * @param geometry The Geometry related to the Reflection
9864 * @param type The type of the Reflection in the ReflectionList.
9869 operation 186114 "~ReflectionList"
9870 cpp_virtual public explicit_return_type ""
9872 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
9874 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
9881 * @brief The default destructor.
9886 operation 186242 "ReflectionList"
9888 public explicit_return_type ""
9890 param in name "source" type class_ref 133634 // ReflectionList
9891 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
9893 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
9894 _geometry(source._geometry)
9901 * @brief The copy constructor.
9902 * @param factory The factory to copy from.
9907 operation 186370 "clone"
9908 const cpp_virtual public return_type class_ref 133634 // ReflectionList
9910 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
9912 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9919 * @brief Make a deep copy of a ReflectionList.
9921 * @return A pointer on the copied ReflectionList.
9926 operation 186498 "add"
9927 public return_type class_ref 133122 // Reflection
9929 param in name "hkl" type class_ref 128002 // svector
9931 exception class_ref 128182 // HKLException
9932 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
9934 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
9941 * @brief Add a reflection to the ReflectionList.
9942 * @param hkl The scattering vector of the added reflection.
9943 * @return A reference on the added reflection.
9948 operation 186626 "del"
9949 public explicit_return_type "void"
9951 param in name "index" explicit_type "uint"
9953 exception class_ref 128182 // HKLException
9954 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${abstract};
9956 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
9963 * @brief Delete the ith reflection
9964 * @param index of the reflection to delete.
9965 * @throw HKLException if index is out of range.
9970 operation 186754 "size"
9971 const public explicit_return_type "uint"
9973 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
9975 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
9982 * @brief Return the number of reflection in the ReflectionList.
9983 * @return The number of reflection in the ReflectionList.
9988 operation 186882 "size_indep"
9989 const public explicit_return_type "uint"
9991 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
9993 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10000 * @brief Return the number of undependant Reflection in the ReflectionList.
10002 * @return The number of non-colinear Reflection in the ReflectionList.
10007 operation 187010 "operator[]"
10008 public return_type class_ref 133122 // Reflection
10010 param in name "index" explicit_type "uint"
10012 exception class_ref 128182 // HKLException
10013 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${abstract};
10015 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}
10022 * @brief Return a reference on the ReflectionList ith Reflection.
10024 * @param index of the returned Reflection.
10025 * @throw HKLException if index is out of range.
10027 * @return The ith Reflection.
10032 operation 187138 "begin"
10033 public explicit_return_type "ReflectionList::iterator"
10035 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
10037 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10044 * @brief Get an iterator on the first element of ReflectionList.
10045 * @return The iterator.
10050 operation 187266 "end"
10051 public explicit_return_type "ReflectionList::iterator"
10053 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
10055 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10062 * @brief Get an iterator on the end of ReflectionList.
10063 * @return The iterator.
10068 operation 187394 "operator=="
10069 const public explicit_return_type "bool"
10071 param in name "reflectionList" type class_ref 133634 // ReflectionList
10072 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10074 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10081 * \\brief Are two ${class} equals ?
10082 * \\param ${p0} the ${t0} to compare with.
10083 * \\return true if both are equals flase otherwise.
10087 operation 187522 "printToStream"
10088 const public return_type class_ref 152194 // ostream
10090 param inout name "flux" type class_ref 152194 // ostream
10091 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10093 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10100 * @brief print the ${class} into a flux
10101 * @param ${p0} The stream to print into.
10102 * @return The modified flux.
10106 operation 187650 "toStream"
10107 const public return_type class_ref 152194 // ostream
10109 param inout name "flux" type class_ref 152194 // ostream
10110 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10112 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10119 * @brief print on a stream the content of the ${class}
10120 * @param flux the ostream to modify.
10121 * @return the modified ostream
10125 operation 187778 "fromStream"
10126 public return_type class_ref 152322 // istream
10128 param inout name "flux" type class_ref 152322 // istream
10129 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10131 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10138 * @brief restore the content of the ${class} from an istream
10139 * @param flux the istream.
10140 * @return the modified istream.
10141 * @todo problem of security here.
10146 class 133250 "ReflectionType"
10147 visibility package stereotype "enum"
10148 cpp_decl "${description}enum ${name} {
10151 java_decl "${comment}${@}${public}${final}${abstract}enum ${name}${implements} {
10155 idl_decl "${comment}enum ${name} {
10158 explicit_switch_type ""
10160 attribute 137730 "REFLECTION_MONOCRYSTAL"
10161 public explicit_type ""
10162 cpp_decl " ${name}${value},${comment}"
10168 class 128514 "smatrix"
10170 cpp_decl "${description}${template}class ${name}${inherit} {
10171 friend class svector;
10177 explicit_switch_type ""
10179 attribute 128514 "_m11"
10180 protected explicit_type "double"
10181 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10187 attribute 128642 "_m12"
10188 protected explicit_type "double"
10189 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10195 attribute 128770 "_m13"
10196 protected explicit_type "double"
10197 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10203 attribute 128898 "_m21"
10204 protected explicit_type "double"
10205 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10211 attribute 129026 "_m22"
10212 protected explicit_type "double"
10213 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10219 attribute 129154 "_m23"
10220 protected explicit_type "double"
10221 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10227 attribute 129282 "_m31"
10228 protected explicit_type "double"
10229 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10235 attribute 129410 "_m32"
10236 protected explicit_type "double"
10237 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10243 attribute 129538 "_m33"
10244 protected explicit_type "double"
10245 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10251 operation 130690 "smatrix"
10252 stereotype "constructor"
10253 public explicit_return_type ""
10255 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
10257 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
10258 _m11(0), _m12(0), _m13(0),
10259 _m21(0), _m22(0), _m23(0),
10260 _m31(0), _m32(0), _m33(0)
10268 operation 134402 "smatrix"
10269 stereotype "constructor"
10270 public explicit_return_type ""
10272 param in name "m11" explicit_type "double"
10273 param in name "m12" explicit_type "double"
10274 param in name "m13" explicit_type "double"
10275 param in name "m21" explicit_type "double"
10276 param in name "m22" explicit_type "double"
10277 param in name "m23" explicit_type "double"
10278 param in name "m31" explicit_type "double"
10279 param in name "m32" explicit_type "double"
10280 param in name "m33" explicit_type "double"
10281 cpp_decl " ${description}${inline}${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}, ${t4} ${p4}, ${t5} ${p5}, ${t6} ${p6}, ${t7} ${p7}, ${t8} ${p8}${)}${volatile}${throw};
10283 cpp_def "${description}${inline}${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}, ${t4} ${p4}, ${t5} ${p5}, ${t6} ${p6}, ${t7} ${p7}, ${t8} ${p8}${)}${volatile}${throw} :
10284 _m11(m11), _m12(m12), _m13(m13),
10285 _m21(m21), _m22(m22), _m23(m23),
10286 _m31(m31), _m32(m32), _m33(m33)
10294 operation 134530 "smatrix"
10295 stereotype "constructor"
10296 public explicit_return_type ""
10298 param in name "euler_x" explicit_type "double"
10299 param in name "euler_y" explicit_type "double"
10300 param in name "euler_z" explicit_type "double"
10301 cpp_decl " ${description}${inline}${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${volatile}${throw};
10303 cpp_def "${description}${inline}${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${volatile}${throw}
10311 operation 130946 "smatrix"
10313 public explicit_return_type ""
10315 param in name "source" type class_ref 128514 // smatrix
10316 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
10318 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
10319 _m11(source._m11), _m12(source._m12), _m13(source._m13),
10320 _m21(source._m21), _m22(source._m22), _m23(source._m23),
10321 _m31(source._m31), _m32(source._m32), _m33(source._m33)
10329 operation 134658 "operator=="
10330 const public explicit_return_type "bool"
10332 param in name "M" type class_ref 128514 // smatrix
10333 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10335 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10343 operation 134786 "operator*="
10344 public return_type class_ref 128514 // smatrix
10346 param in name "M" type class_ref 128514 // smatrix
10347 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10349 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10357 operation 134914 "operator*"
10358 const public return_type class_ref 128514 // smatrix
10360 param in name "M" type class_ref 128514 // smatrix
10361 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10363 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10371 operation 135042 "operator*"
10372 const public return_type class_ref 128002 // svector
10374 param in name "v" type class_ref 128002 // svector
10375 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10377 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10385 operation 133250 "set"
10386 public explicit_return_type "void"
10388 param in name "m11" explicit_type "double"
10389 param in name "m12" explicit_type "double"
10390 param in name "m13" explicit_type "double"
10391 param in name "m21" explicit_type "double"
10392 param in name "m22" explicit_type "double"
10393 param in name "m23" explicit_type "double"
10394 param in name "m31" explicit_type "double"
10395 param in name "m32" explicit_type "double"
10396 param in name "m33" explicit_type "double"
10397 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}, ${t4} ${p4}, ${t5} ${p5}, ${t6} ${p6}, ${t7} ${p7}, ${t8} ${p8}${)}${const}${volatile}${throw}${abstract};
10399 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}, ${t3} ${p3}, ${t4} ${p4}, ${t5} ${p5}, ${t6} ${p6}, ${t7} ${p7}, ${t8} ${p8}${)}${const}${volatile}${throw}${staticnl}
10407 operation 135426 "set"
10408 public explicit_return_type "void"
10410 param in name "euler_x" explicit_type "double"
10411 param in name "euler_y" explicit_type "double"
10412 param in name "euler_z" explicit_type "double"
10413 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${throw}${abstract};
10415 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${throw}${staticnl}
10423 operation 134274 "get"
10424 const public explicit_return_type "double"
10426 param in name "i" explicit_type "uint"
10427 param in name "j" explicit_type "uint"
10429 exception class_ref 128182 // HKLException
10430 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${abstract};
10432 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}
10440 operation 135170 "asEulerian"
10441 const public return_type class_ref 128002 // svector
10443 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
10445 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10453 operation 135298 "transpose"
10454 public return_type class_ref 128514 // smatrix
10456 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
10458 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10466 operation 133890 "printToStream"
10467 const public return_type class_ref 152194 // ostream
10469 param inout name "flux" type class_ref 152194 // ostream
10470 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10472 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10480 operation 134018 "toStream"
10481 const public return_type class_ref 152194 // ostream
10483 param inout name "flux" type class_ref 152194 // ostream
10484 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10486 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10494 operation 134146 "fromStream"
10495 public return_type class_ref 152322 // istream
10497 param inout name "flux" type class_ref 152322 // istream
10498 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10500 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10507 * \\brief Restore a ${class} from a stream.
10508 * \\param flux The stream containing the ${class} to restore.
10513 class 131458 "Source"
10515 cpp_decl "${description}${template}class ${name}${inherit} {
10521 explicit_switch_type ""
10523 classrelation 132610 // _waveLength (<directional aggregation by value>)
10524 relation 132226 *-->
10525 a role_name "_waveLength" multiplicity "1" protected
10526 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
10528 classrelation_ref 132610 // _waveLength (<directional aggregation by value>)
10529 b multiplicity "" parent class_ref 128060 // Value
10530 get_oper operation_ref 162562 // get_waveLength
10533 classrelation 132738 // _direction (<directional aggregation by value>)
10534 relation 132354 *-->
10535 a role_name "_direction" multiplicity "" protected
10536 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
10538 classrelation_ref 132738 // _direction (<directional aggregation by value>)
10539 b multiplicity "" parent class_ref 128002 // svector
10540 get_oper operation_ref 162690 // get_direction
10543 classrelation 132866 // _qi (<directional aggregation by value>)
10544 relation 132482 *-->
10545 a role_name "_qi" multiplicity "" protected
10546 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
10548 classrelation_ref 132866 // _qi (<directional aggregation by value>)
10549 b multiplicity "" parent class_ref 128770 // Quaternion
10550 get_oper operation_ref 162818 // get_qi
10553 operation 162306 "Source"
10554 public explicit_return_type ""
10556 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
10558 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
10560 _direction(svector(1,0,0)),
10561 _qi(0, constant::physic::tau / 1.54, 0, 0)
10568 * @brief Default Constructor.
10570 * Create a new ${class} with all is privates parameters set to zero.
10571 * After this you must set the waveLength before using it, with the
10572 * setWaveLength method.
10576 operation 162434 "Source"
10577 public explicit_return_type ""
10579 param in name "waveLength" type class_ref 128060 // Value
10580 param in name "direction" type class_ref 128002 // svector
10581 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
10583 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw}
10590 * @brief Constructor from parameters
10591 * @param ${p0} the wavelength of the beam.
10592 * @param ${p1} the X-rays beam direction. This parameter is normalize.
10594 * Create a new ${class} from the parameters.
10595 * <b>_waveLength unit must be consistent with the crystal length units</b>.
10599 operation 162562 "get_waveLength"
10600 const cpp_inline public return_type class_ref 128060 // Value
10602 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw};
10604 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10606 return _waveLength;
10609 cpp_name_spec "get${name}"
10611 java_name_spec "get${name}"
10613 idl_name_spec "get${name}"
10614 get_of_relation classrelation_ref 132610 // _waveLength (<directional aggregation by value>)
10617 operation 162690 "get_direction"
10618 const cpp_inline public return_type class_ref 128002 // svector
10620 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw};
10622 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10627 cpp_name_spec "get${name}"
10629 java_name_spec "get${name}"
10631 idl_name_spec "get${name}"
10632 get_of_relation classrelation_ref 132738 // _direction (<directional aggregation by value>)
10635 operation 162818 "get_qi"
10636 const cpp_inline public return_type class_ref 128770 // Quaternion
10638 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw};
10640 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10645 cpp_name_spec "get${name}"
10647 java_name_spec "get${name}"
10649 idl_name_spec "get${name}"
10650 get_of_relation classrelation_ref 132866 // _qi (<directional aggregation by value>)
10653 operation 162946 "setWaveLength"
10654 public explicit_return_type "void"
10656 param in name "waveLength" type class_ref 128060 // Value
10658 exception class_ref 128182 // HKLException
10659 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10661 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10668 * @brief set the wavelength
10669 * @param ${p0} the wavelength to set.
10670 * @exception HKLException if ${p0} == 0.
10672 * Set the ${p0} of the source
10673 * <b>wl unit must be consistent with the crystal length units</b>.
10677 operation 163074 "setDirection"
10678 public explicit_return_type "void"
10680 param in name "direction" type class_ref 128002 // svector
10682 exception class_ref 128182 // HKLException
10683 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10685 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10692 * @brief Set the _{p0} of the ${class}.
10693 * @param ${p0} to set
10695 * The ${p0} is normalize.
10699 operation 163202 "getKi"
10700 const public return_type class_ref 128002 // svector
10702 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
10704 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10711 * @brief Get the ki vector
10715 operation 163330 "setKi"
10716 public explicit_return_type "void"
10718 param in name "ki" type class_ref 128002 // svector
10720 exception class_ref 128182 // HKLException
10721 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10723 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10730 * @brief set the ki vector
10734 operation 163458 "operator=="
10735 const public explicit_return_type "bool"
10737 param in name "source" type class_ref 131458 // Source
10738 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10740 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10747 * \\brief Are two ${class} equals ?
10748 * \\param ${p0} the ${t0} to compare with.
10749 * \\return true if both are equals flase otherwise.
10753 operation 163586 "printToStream"
10754 const public return_type class_ref 152194 // ostream
10756 param inout name "flux" type class_ref 152194 // ostream
10757 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10759 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10766 * @brief print the ${class} into a flux
10767 * @param ${p0} The stream to print into.
10768 * @return The modified flux.
10772 operation 163714 "toStream"
10773 const public return_type class_ref 152194 // ostream
10775 param inout name "flux" type class_ref 152194 // ostream
10776 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10778 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10785 * @brief print on a stream the content of the ${class}
10786 * @param flux the ostream to modify.
10787 * @return the modified ostream
10791 operation 163842 "fromStream"
10792 public return_type class_ref 152322 // istream
10794 param inout name "flux" type class_ref 152322 // istream
10795 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10797 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10804 * @brief restore the content of the ${class} from an istream
10805 * @param flux the istream.
10806 * @return the modified istream.
10807 * @todo problem of security here.
10812 class 128002 "svector"
10814 cpp_decl "${description}${template}class ${name}${inherit} {
10815 friend class smatrix;
10821 explicit_switch_type ""
10823 attribute 128002 "_x"
10824 protected explicit_type "double"
10825 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10831 attribute 128130 "_y"
10832 protected explicit_type "double"
10833 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10839 attribute 128258 "_z"
10840 protected explicit_type "double"
10841 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
10847 operation 129026 "svector"
10848 stereotype "constructor"
10849 public explicit_return_type ""
10851 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
10853 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
10864 operation 129538 "svector"
10865 stereotype "constructor"
10866 public explicit_return_type ""
10868 param in name "x" explicit_type "double"
10869 param in name "y" explicit_type "double"
10870 param in name "z" explicit_type "double"
10871 cpp_decl " ${description}${inline}${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${volatile}${throw};
10873 cpp_def "${description}${inline}${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${volatile}${throw} :
10884 operation 129282 "svector"
10886 public explicit_return_type ""
10888 param in name "source" type class_ref 128002 // svector
10889 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
10891 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
10902 operation 129666 "x"
10903 public explicit_return_type "double"
10905 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
10907 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10915 operation 129794 "y"
10916 public explicit_return_type "double"
10918 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
10920 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10928 operation 129922 "z"
10929 public explicit_return_type "double"
10931 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
10933 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10941 operation 130050 "x"
10942 const public explicit_return_type "double"
10944 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
10946 cpp_def "${description}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10954 operation 130178 "y"
10955 const public explicit_return_type "double"
10957 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
10959 cpp_def "${description}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10967 operation 130306 "z"
10968 const public explicit_return_type "double"
10970 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} const & ${name}${(}${)}${const}${volatile}${throw}${abstract};
10972 cpp_def "${description}${inline}${type} const & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
10980 operation 130434 "operator=="
10981 const public explicit_return_type "bool"
10983 param in name "v" type class_ref 128002 // svector
10984 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
10986 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
10994 operation 130562 "operator*="
10995 public return_type class_ref 128002 // svector
10997 param in name "v" type class_ref 128002 // svector
10998 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11000 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11008 operation 131202 "operator*="
11009 public return_type class_ref 128002 // svector
11011 param in name "M" type class_ref 128514 // smatrix
11012 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11014 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11022 operation 131330 "operator*="
11023 public return_type class_ref 128002 // svector
11025 param in name "d" explicit_type "double"
11026 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11028 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11036 operation 131458 "operator/="
11037 public return_type class_ref 128002 // svector
11039 param in name "d" explicit_type "double"
11040 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11042 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11050 operation 131586 "operator-="
11051 public return_type class_ref 128002 // svector
11053 param in name "v" type class_ref 128002 // svector
11054 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11056 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11064 operation 131714 "sum"
11065 const public explicit_return_type "double"
11067 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
11069 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
11077 operation 131842 "set"
11078 public explicit_return_type "void"
11080 param in name "x" explicit_type "double"
11081 param in name "y" explicit_type "double"
11082 param in name "z" explicit_type "double"
11083 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${throw}${abstract};
11085 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${throw}${staticnl}
11093 operation 131970 "scalar"
11094 const public explicit_return_type "double"
11096 param in name "v" type class_ref 128002 // svector
11097 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11099 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11107 operation 132098 "vectorialProduct"
11108 const public return_type class_ref 128002 // svector
11110 param in name "v" type class_ref 128002 // svector
11111 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11113 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11121 operation 132226 "angle"
11122 const public explicit_return_type "double"
11124 param in name "v" type class_ref 128002 // svector
11125 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11127 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11135 operation 132354 "axisSystem"
11136 const public return_type class_ref 128514 // smatrix
11138 param in name "v" type class_ref 128002 // svector
11139 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11141 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11149 operation 132482 "norm2"
11150 const public explicit_return_type "double"
11152 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
11154 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
11162 operation 132610 "normalize"
11163 const public return_type class_ref 128002 // svector
11165 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
11167 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
11175 operation 132738 "isColinear"
11176 const public explicit_return_type "bool"
11178 param in name "v" type class_ref 128002 // svector
11179 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11181 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11189 operation 132866 "randomize"
11190 public explicit_return_type "void"
11192 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
11194 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
11202 operation 132994 "randomize"
11203 public return_type class_ref 128002 // svector
11205 param in name "v" type class_ref 128002 // svector
11206 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11208 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11216 operation 133122 "randomize"
11217 public return_type class_ref 128002 // svector
11219 param in name "v1" type class_ref 128002 // svector
11220 param in name "v2" type class_ref 128002 // svector
11221 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${abstract};
11223 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}
11231 operation 133378 "rotatedAroundVector"
11232 const public return_type class_ref 128002 // svector
11234 param in name "axe" type class_ref 128002 // svector
11235 param in name "angle" explicit_type "double"
11236 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${abstract};
11238 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}
11245 * \\brief rotate a vector around another one with an angle.
11246 * \\param axe The svector corresponding to the rotation axe.
11247 * \\param angle the angle of rotation.
11248 * \\return The new vector.
11252 operation 133506 "printToStream"
11253 const public return_type class_ref 152194 // ostream
11255 param inout name "flux" type class_ref 152194 // ostream
11256 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11258 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11266 operation 133634 "toStream"
11267 const public return_type class_ref 152194 // ostream
11269 param inout name "flux" type class_ref 152194 // ostream
11270 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11272 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11280 operation 133762 "fromStream"
11281 public return_type class_ref 152322 // istream
11283 param inout name "flux" type class_ref 152322 // istream
11284 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11286 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11293 * \\brief Restore a ${class} from a stream.
11294 * \\param flux The stream containing the ${class} to restore.
11298 operation 135554 "norminf"
11299 const public explicit_return_type "double"
11301 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
11303 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
11312 class 128060 "Value"
11314 cpp_decl "${description}${template}class ${name}${inherit} {
11318 java_decl "${comment}${@}${public}interface ${name}${extends} {
11321 idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
11324 explicit_switch_type ""
11327 * @brief the class use to store a double with an unit.
11329 attribute 128060 "_value"
11330 protected explicit_type "double"
11332 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
11336 get_oper operation_ref 128107 // get_value
11337 set_oper operation_ref 128235 // set_value
11340 operation 128188 "Value"
11341 stereotype "constructor"
11342 public explicit_return_type ""
11344 cpp_decl " ${description}${inline}${name}${(}${)}${volatile}${throw};
11346 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw} :
11354 * @brief The default constructor.
11358 operation 128054 "Value"
11359 stereotype "constructor"
11360 public explicit_return_type ""
11362 param in name "value" explicit_type "double"
11363 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
11365 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
11373 * @brief A constructor from a double
11377 operation 147970 "Value"
11379 public explicit_return_type ""
11381 param in name "source" type class_ref 128060 // Value
11382 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
11384 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
11385 _value(source._value)
11393 operation 128107 "get_value"
11394 const cpp_inline public explicit_return_type "double"
11396 cpp_decl " ${description}${friend}${static}${inline}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${throw};
11398 cpp_def "${description}${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
11403 cpp_name_spec "get${name}"
11405 java_name_spec "get_${name}"
11407 idl_name_spec "get_${name}"
11408 get_of_attribute attribute_ref 128060 // _value
11410 * @brief The get accessor.
11414 operation 128235 "set_value"
11415 public explicit_return_type "void"
11417 param in name "value" explicit_type "double"
11418 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw};
11420 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11425 cpp_name_spec "set${name}"
11427 java_name_spec "set_${name}"
11429 idl_name_spec "set_${name}"
11430 set_of_attribute attribute_ref 128060 // _value
11432 * @brief The set accessor
11433 * @param ${p0} the ${class} to set.
11437 operation 128363 "operator=="
11438 const public explicit_return_type "bool"
11440 param in name "value" type class_ref 128060 // Value
11441 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11443 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11451 operation 263426 "operator!="
11452 const public explicit_return_type "bool"
11454 param in name "value" type class_ref 128060 // Value
11455 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11457 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11465 operation 128004 "operator<="
11466 const public explicit_return_type "bool"
11468 param in name "value" type class_ref 128060 // Value
11469 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11471 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11479 operation 152194 "operator>="
11480 const public explicit_return_type "bool"
11482 param in name "value" type class_ref 128060 // Value
11483 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11485 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11493 operation 128260 "operator<"
11494 const public explicit_return_type "bool"
11496 param in name "value" type class_ref 128060 // Value
11497 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11499 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11507 operation 128388 "operator>"
11508 const public explicit_return_type "bool"
11510 param in name "value" type class_ref 128060 // Value
11511 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11513 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11521 operation 128516 "operator+="
11522 public return_type class_ref 128060 // Value
11524 param in name "value" type class_ref 128060 // Value
11525 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11527 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11535 operation 128644 "operator-="
11536 public return_type class_ref 128060 // Value
11538 param in name "value" type class_ref 128060 // Value
11539 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11541 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11549 operation 128772 "operator*="
11550 public return_type class_ref 128060 // Value
11552 param in name "value" type class_ref 128060 // Value
11553 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11555 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11563 operation 128900 "operator/="
11564 public return_type class_ref 128060 // Value
11566 param in name "value" type class_ref 128060 // Value
11567 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11569 cpp_def "${description}${inline}${type} & ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11577 operation 129028 "operator+"
11578 const public return_type class_ref 128060 // Value
11580 param in name "value" type class_ref 128060 // Value
11581 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11583 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11591 operation 129156 "operator-"
11592 const public return_type class_ref 128060 // Value
11594 param in name "value" type class_ref 128060 // Value
11595 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11597 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11605 operation 129284 "operator*"
11606 const public return_type class_ref 128060 // Value
11608 param in name "value" type class_ref 128060 // Value
11609 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11611 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11619 operation 129412 "operator/"
11620 const public return_type class_ref 128060 // Value
11622 param in name "value" type class_ref 128060 // Value
11623 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11625 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11633 operation 129540 "printToStream"
11634 const public return_type class_ref 152194 // ostream
11636 param inout name "flux" type class_ref 152194 // ostream
11637 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11639 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11646 * \\brief print the ${class} into a flux
11647 * \\param flux The stream to print into.
11651 operation 128182 "toStream"
11652 const public return_type class_ref 152194 // ostream
11654 param inout name "flux" type class_ref 152194 // ostream
11655 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11657 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11664 * \\brief Save the ${class} into a stream.
11665 * \\param flux the stream to save the ${class} into.
11666 * \\return The stream with the ${class}.
11670 operation 128310 "fromStream"
11671 public return_type class_ref 152322 // istream
11673 param inout name "flux" type class_ref 152322 // istream
11674 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11676 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11683 * \\brief Restore a ${class} from a stream.
11684 * \\param flux The stream containing the ${class} to restore.
11689 class 133378 "Sample"
11690 abstract visibility package
11691 cpp_decl "${description}${template}class ${name}${inherit} {
11697 explicit_switch_type ""
11699 classrelation 134146 // <generalisation>
11700 relation 133762 ---|>
11702 cpp default "${type}"
11703 classrelation_ref 134146 // <generalisation>
11704 b multiplicity "" parent class_ref 131330 // FitParameterList
11707 classrelation 134274 // <generalisation>
11708 relation 133890 ---|>
11710 cpp default "${type}"
11711 classrelation_ref 134274 // <generalisation>
11712 b multiplicity "" parent class_ref 129410 // Object
11715 attribute 137858 "_geometry"
11716 protected type class_ref 131714 // Geometry
11717 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} & ${name}${value};
11723 attribute 137986 "_lattice"
11724 protected type class_ref 131586 // Lattice
11725 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} ${name}${value};
11731 classrelation 134786 // _reflections (<directional aggregation>)
11732 relation 134402 o-->
11733 a role_name "_reflections" multiplicity "1" protected
11734 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
11736 classrelation_ref 134786 // _reflections (<directional aggregation>)
11737 b multiplicity "" parent class_ref 133634 // ReflectionList
11740 operation 185346 "Sample"
11741 protected explicit_return_type ""
11743 param inout name "geometry" type class_ref 131714 // Geometry
11744 param in name "name" type class_ref 129026 // string
11745 cpp_decl " ${description}${inline}${name}${(}${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
11747 cpp_def "${description}${inline}${class}::${name}${(}${t0} & ${p0}, const ${t1} & ${p1}${)}${volatile}${throw} :
11748 FitParameterList(),
11749 Object(name, \"no description\"),
11750 _geometry(geometry)
11757 * @brief The default constructor
11758 * @param geometry The geometry use to create the Reflections.
11759 * @param name The name of the Reflections.
11764 operation 191874 "~Sample"
11765 cpp_virtual public explicit_return_type ""
11767 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
11769 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
11777 operation 185474 "Sample"
11779 protected explicit_return_type ""
11781 param in name "source" type class_ref 133378 // Sample
11782 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
11784 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
11785 FitParameterList(),
11787 _geometry(source._geometry),
11788 _lattice(source._lattice)
11796 operation 188290 "clone"
11797 abstract const cpp_virtual public return_type class_ref 133378 // Sample
11799 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
11804 * @brief Clone the current Sample.
11805 * @return A pointer on the cloned sample.
11810 operation 188418 "get_UB"
11811 abstract cpp_virtual public return_type class_ref 128514 // smatrix
11813 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
11818 * @brief Get the UB matrix of the Sample.
11819 * @return The UB matrix.
11824 operation 188546 "get_type"
11825 abstract cpp_virtual public return_type class_ref 134018 // SampleType
11827 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
11832 * @brief Get the type of the Sample.
11834 * @return The Sample type.
11836 * this method is use during the toStream and fromStream process.
11841 operation 188674 "lattice"
11842 public return_type class_ref 131586 // Lattice
11844 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
11846 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
11853 * @brief Get the Lattice of the Sample.
11855 * @return A reference on the Lattice.
11860 operation 188802 "reflections"
11861 public return_type class_ref 133634 // ReflectionList
11863 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${)}${const}${volatile}${throw}${abstract};
11865 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
11872 * @brief Get the reflections associated with the Sample.
11874 * @return A reference on thoses reflections.
11879 operation 188930 "operator=="
11880 const public explicit_return_type "bool"
11882 param in name "sample" type class_ref 133378 // Sample
11883 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11885 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11892 * \\brief Are two ${class} equals ?
11893 * \\param ${p0} the ${t0} to compare with.
11894 * \\return true if both are equals flase otherwise.
11898 operation 189058 "printToStream"
11899 const public return_type class_ref 152194 // ostream
11901 param inout name "flux" type class_ref 152194 // ostream
11902 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11904 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11911 * @brief print the ${class} into a flux
11912 * @param ${p0} The stream to print into.
11913 * @return The modified flux.
11917 operation 189186 "toStream"
11918 const public return_type class_ref 152194 // ostream
11920 param inout name "flux" type class_ref 152194 // ostream
11921 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11923 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11930 * @brief print on a stream the content of the ${class}
11931 * @param flux the ostream to modify.
11932 * @return the modified ostream
11936 operation 189314 "fromStream"
11937 public return_type class_ref 152322 // istream
11939 param inout name "flux" type class_ref 152322 // istream
11940 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
11942 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
11949 * @brief restore the content of the ${class} from an istream
11950 * @param flux the istream.
11951 * @return the modified istream.
11952 * @todo problem of security here.
11957 class 134274 "SampleFactory"
11959 cpp_decl "${description}${template}class ${name}${inherit} {
11965 explicit_switch_type ""
11967 attribute 139138 "_geometry"
11968 protected type class_ref 131714 // Geometry
11969 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} & ${name}${value};
11975 operation 192002 "SampleFactory"
11976 public explicit_return_type ""
11978 param inout name "geometry" type class_ref 131714 // Geometry
11979 cpp_decl " ${description}${inline}${name}${(}${t0} & ${p0}${)}${volatile}${throw};
11981 cpp_def "${description}${inline}${class}::${name}${(}${t0} & ${p0}${)}${volatile}${throw} :
11982 _geometry(geometry)
11989 * @brief The default constructor.
11990 * @param geometry the Geometry use to fill the Reflection._geometry.
11995 operation 192258 "types"
11996 const public explicit_return_type "std::vector<SampleType>"
11998 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12000 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12008 operation 192130 "create"
12009 const public return_type class_ref 133378 // Sample
12011 param in name "name" type class_ref 129026 // string
12012 param in name "type" type class_ref 134018 // SampleType
12014 exception class_ref 128182 // HKLException
12015 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${abstract};
12017 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}
12024 * @brief Create a new reflection.
12025 * @return The created Reflection.
12031 class 134402 "SampleList"
12033 cpp_decl "${description}${template}class ${name}${inherit} {
12039 explicit_switch_type ""
12041 attribute 139394 "_geometry"
12042 protected type class_ref 131714 // Geometry
12043 cpp_decl " ${description}${static}${mutable}${volatile}${const}${type} & ${name}${value};
12049 classrelation 135298 // _current (<directional aggregation>)
12050 relation 134914 o-->
12051 a role_name "_current" multiplicity "1" protected
12052 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
12054 classrelation_ref 135298 // _current (<directional aggregation>)
12055 b multiplicity "" parent class_ref 133378 // Sample
12058 classrelation 135426 // _samplefactory (<directional aggregation>)
12059 relation 135042 o-->
12060 a role_name "_samplefactory" multiplicity "1" protected
12061 cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
12063 classrelation_ref 135426 // _samplefactory (<directional aggregation>)
12064 b multiplicity "" parent class_ref 134274 // SampleFactory
12067 classrelation 135554 // _samples (<directional aggregation>)
12068 relation 135170 o-->
12069 stereotype "vector"
12070 a role_name "_samples" multiplicity "*" protected
12071 cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
12073 classrelation_ref 135554 // _samples (<directional aggregation>)
12074 b multiplicity "" parent class_ref 133378 // Sample
12077 class 134530 "iterator"
12078 visibility package stereotype "typedef" explicit_base_type "std::vector<Sample *>::iterator"
12079 cpp_decl "${description}typedef ${type} ${name};
12082 idl_decl "${comment}typedef ${type} ${name};
12084 explicit_switch_type ""
12088 class 134658 "const_iterator"
12089 visibility package stereotype "typedef" explicit_base_type "std::vector<Sample *>::const_iterator"
12090 cpp_decl "${description}typedef ${type} ${name};
12093 idl_decl "${comment}typedef ${type} ${name};
12095 explicit_switch_type ""
12099 operation 192386 "SampleList"
12100 public explicit_return_type ""
12102 param inout name "geometry" type class_ref 131714 // Geometry
12103 cpp_decl " ${description}${inline}${name}${(}${t0} & ${p0}${)}${volatile}${throw};
12105 cpp_def "${description}${inline}${class}::${name}${(}${t0} & ${p0}${)}${volatile}${throw} :
12106 _geometry(geometry),
12114 * @brief Default constructor
12115 * @param geometry The Geometry related to the Reflection.
12120 operation 192514 "~SampleList"
12121 cpp_virtual public explicit_return_type ""
12123 cpp_decl " ${description}${inline}${virtual}${name}${(}${)}${volatile}${throw};
12125 cpp_def "${description}${inline}${class}::${name}${(}${)}${volatile}${throw}
12132 * @brief The default destructor.
12137 operation 192642 "SampleList"
12139 public explicit_return_type ""
12141 param in name "source" type class_ref 134402 // SampleList
12142 cpp_decl " ${description}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
12144 cpp_def "${description}${inline}${class}::${name}${(}const ${t0} & ${p0}${)}${volatile}${throw} :
12145 _geometry(source._geometry)
12152 * @brief The copy constructor.
12153 * @param ${p0} The ${t0} to copy from.
12158 operation 194306 "types"
12159 const public explicit_return_type "std::vector<SampleType>"
12161 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12163 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12170 * @brief Get a list of all Sample type available.
12171 * @return A vector fill with all available sample type.
12175 operation 192898 "add"
12176 public return_type class_ref 133378 // Sample
12178 param in name "name" type class_ref 129026 // string
12179 param in name "type" type class_ref 134018 // SampleType
12180 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${abstract};
12182 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}
12189 * @brief Add a Sample to the SampleList.
12190 * @param name The name of the Sample
12191 * @param type The type of the Sample to add
12192 * @throw HKLException if a sample with the same name is already present in the list.
12196 operation 194434 "add_copy"
12197 public return_type class_ref 133378 // Sample
12199 param inout name "pos" type class_ref 134658 // const_iterator
12200 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
12202 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
12209 * @brief add a copy of a sample
12210 * @param pos An iterator on the Sample to copy.
12214 operation 194562 "erase"
12215 public explicit_return_type "void"
12217 param inout name "pos" type class_ref 134530 // iterator
12218 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
12220 cpp_def "${description}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
12227 * @brief Remove a sample from the SampleList.
12228 * @param pos the position of the Sample.
12229 * @throw HKLException If the sample is not present.
12233 operation 194690 "clear"
12234 public explicit_return_type "void"
12236 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12238 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12245 * @brief Remove all sample from the SampleList.
12249 operation 192770 "set_current"
12250 public return_type class_ref 133378 // Sample
12252 param in name "name" type class_ref 129026 // string
12253 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
12255 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
12262 * @brief Set the nth sample as the current sample.
12263 * @param name The name of the sample to set as current.
12264 * @throw HKLException if the index is out of range.
12268 operation 195202 "get_current"
12269 const public return_type class_ref 133378 // Sample
12271 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
12273 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12280 * @brief Get the current sample
12281 * @return A pointer on the current sample.
12285 operation 193026 "current"
12286 public return_type class_ref 133378 // Sample
12288 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}${)}${const}${volatile}${throw}${abstract};
12290 cpp_def "${description}${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12297 * @brief Get the current sample
12298 * @return A pointer on the current sample.
12302 operation 193154 "get_names"
12303 const public explicit_return_type "std::vector<std::string>"
12305 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12307 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12314 * @brief Return the names of all samples.
12319 operation 194818 "size"
12320 const public explicit_return_type "uint"
12322 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12324 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12332 operation 193410 "operator[]"
12333 public return_type class_ref 133378 // Sample
12335 param in name "name" type class_ref 129026 // string
12336 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
12338 cpp_def "${description}${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
12346 operation 193538 "begin"
12347 public explicit_return_type "SampleList::iterator"
12349 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12351 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12358 * @brief Get an iterator on the first element of ReflectionList.
12359 * @return The iterator.
12364 operation 193666 "end"
12365 public explicit_return_type "SampleList::iterator"
12367 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12369 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12376 * @brief Get an iterator on the end of ReflectionList.
12377 * @return The iterator.
12382 operation 194946 "begin"
12383 const public explicit_return_type "SampleList::const_iterator"
12385 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12387 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12394 * @brief Get an iterator on the first element of ReflectionList.
12395 * @return The iterator.
12400 operation 195074 "end"
12401 const public explicit_return_type "SampleList::const_iterator"
12403 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
12405 cpp_def "${description}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}
12412 * @brief Get an iterator on the end of ReflectionList.
12413 * @return The iterator.
12418 operation 193794 "operator=="
12419 const public explicit_return_type "bool"
12421 param in name "sampleList" type class_ref 134402 // SampleList
12422 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
12424 cpp_def "${description}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
12431 * \\brief Are two ${class} equals ?
12432 * \\param ${p0} the ${t0} to compare with.
12433 * \\return true if both are equals flase otherwise.
12437 operation 193922 "printToStream"
12438 const public return_type class_ref 152194 // ostream
12440 param inout name "flux" type class_ref 152194 // ostream
12441 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
12443 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
12450 * @brief print the ${class} into a flux
12451 * @param ${p0} The stream to print into.
12452 * @return The modified flux.
12456 operation 194050 "toStream"
12457 const public return_type class_ref 152194 // ostream
12459 param inout name "flux" type class_ref 152194 // ostream
12460 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
12462 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
12469 * @brief print on a stream the content of the ${class}
12470 * @param flux the ostream to modify.
12471 * @return the modified ostream
12475 operation 194178 "fromStream"
12476 public return_type class_ref 152322 // istream
12478 param inout name "flux" type class_ref 152322 // istream
12479 cpp_decl " ${description}${friend}${static}${inline}${virtual}${type} & ${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
12481 cpp_def "${description}${inline}${type} & ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}
12488 * @brief restore the content of the ${class} from an istream
12489 * @param flux the istream.
12490 * @return the modified istream.
12491 * @todo problem of security here.
12496 class 134018 "SampleType"
12497 visibility package stereotype "enum"
12498 cpp_decl "${description}enum ${name} {
12501 java_decl "${comment}${@}${public}${final}${abstract}enum ${name}${implements} {
12505 idl_decl "${comment}enum ${name} {
12508 explicit_switch_type ""
12510 attribute 138498 "SAMPLE_MONOCRYSTAL"
12511 public explicit_type ""
12512 cpp_decl " ${name}${value},${comment}"
12518 class 147202 "_vector_int_"
12519 visibility package stereotype "typedef" base_type class_ref 146818 // vector
12521 actual class class_ref 146818 // vector
12522 rank 0 explicit_value "int"
12523 cpp_decl "${comment}typedef ${type} ${name};
12526 idl_decl "${comment}typedef ${type} ${name};
12528 explicit_switch_type ""
12530 classrelation 169346 // <generalisation>
12531 relation 167938 ---|>
12533 cpp default "${type}"
12534 classrelation_ref 169346 // <generalisation>
12535 b multiplicity "" parent class_ref 146818 // vector
12539 class 147330 "_vector_vector_int_"
12540 visibility package stereotype "typedef" base_type class_ref 146818 // vector
12542 actual class class_ref 146818 // vector
12543 rank 0 value class_ref 147202 // _vector_int_
12544 cpp_decl "${comment}typedef ${type} ${name};
12547 idl_decl "${comment}typedef ${type} ${name};
12549 explicit_switch_type ""
12551 classrelation 169474 // <generalisation>
12552 relation 168066 ---|>
12554 cpp default "${type}"
12555 classrelation_ref 169474 // <generalisation>
12556 b multiplicity "" parent class_ref 146818 // vector
12561 deploymentview 128060 "Deployment hkl"
12562 //deployment diagram settings
12563 package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
12564 draw_component_as_icon default show_component_req_prov default show_component_rea default
12565 artifact 134914 "affinement"
12566 stereotype "source"
12567 cpp_h "#ifndef _${NAME}_H
12578 * \\brief Overload of the << operator for the Affinement class
12580 inline std::ostream &
12581 operator<<(std::ostream & flux, hkl::Affinement const & affinement)
12583 return affinement.printToStream(flux);
12587 cpp_src "${description}
12590 #include \"constant.h\"
12595 class_ref 142466 // Affinement
12599 artifact 135298 "affinementlist"
12600 stereotype "source"
12601 cpp_h "#ifndef _${NAME}_H
12610 inline std::ostream &
12611 operator <<(std::ostream & flux, hkl::AffinementList const & affinementList)
12613 return affinementList.printToStream(flux);
12618 cpp_src "${description}
12624 class_ref 142978 // AffinementList
12628 artifact 129410 "axe"
12629 stereotype "source"
12630 cpp_h "#ifndef _${NAME}_H
12641 * \\brief Overload of the << operator for the Axe class
12643 inline std::ostream &
12644 operator<<(std::ostream & flux, hkl::Axe const & axe)
12646 return axe.printToStream(flux);
12650 * \\brief Overload of the << operator for the AxeList class
12652 inline std::ostream &
12653 operator<<(std::ostream & flux, hkl::AxeList const & axeList)
12655 return axeList.printToStream(flux);
12659 cpp_src "${description}
12665 class_ref 151042 // AxeType
12666 class_ref 145282 // Axe
12667 class_ref 145410 // AxeList
12671 artifact 139906 "axefactory"
12672 stereotype "source"
12673 cpp_h "#ifndef _${NAMESPACE}_${NAME}_H
12674 #define _${NAMESPACE}_${NAME}_H
12684 cpp_src "${description}
12690 class_ref 150914 // AxeFactory
12694 artifact 128258 "constant"
12695 stereotype "source"
12696 cpp_h "#ifndef _${NAME}_H
12700 #include <iostream>
12709 cpp_src "${description}
12715 class_ref 128130 // constant
12719 artifact 128642 "convenience"
12720 stereotype "source"
12721 cpp_h "#ifndef _CONVENIENCE_H
12722 #define _CONVENIENCE_H
12724 #include <HKLException.h>
12728 namespace convenience
12732 * @brief return the right angle in between[_pi,pi]
12733 * @param angle The angle to normalize.
12734 * @return The angle.
12736 double normalizeAngle(double angle);
12739 * \\brief Compute the atan2 function.
12740 * \\param s The y coordinate of the point P in the xOy plan.
12741 * \\param c The x coordinate of the point P in the xOy plan.
12742 * \\return the angle between Ox and OP.
12744 double atan2(double s, double c);
12747 * Compute the asin function.
12748 * \\param s The sinus of the angle.
12749 * \\throw HKLException if \\f$ /abs(s) > 1\\f$.
12750 * \\return The asinus of the angle.
12752 double asin(double s) throw (HKLException);
12754 } // namespace convenience
12757 #endif //_CONVENIENCE_H
12759 cpp_src "#include \"portability.h\"
12763 #include \"constant.h\"
12764 #include \"convenience.h\"
12768 namespace convenience
12772 normalizeAngle(double angle)
12774 double res = ::atan2(::sin(angle), ::cos(angle));
12775 if (fabs(res - constant::math::pi) < constant::math::epsilon
12783 atan2(double s, double c)
12787 if (fabs(s) < constant::math::epsilon) s = 0.;
12788 if (fabs(c) < constant::math::epsilon) c = 0.;
12789 angle = ::atan2(s, c);
12790 if (fabs(angle) < constant::math::epsilon) angle = 0.;
12795 asin(double s) throw (HKLException)
12798 if (fabs(s) - 1. > constant::math::epsilon)
12799 HKLEXCEPTION(\"sinus bigger than 1.\", \"\");
12803 if (fabs(angle) < constant::math::epsilon) angle = 0.;
12808 } // namespace convenience
12815 artifact 135426 "diffractometer"
12816 stereotype "source"
12817 cpp_h "#ifndef _${NAME}_H
12826 inline std::ostream &
12827 operator << (std::ostream & flux, hkl::Diffractometer const & diffractometer)
12829 return diffractometer.printToStream(flux);
12834 cpp_src "${description}
12836 #include \"portability.h\"
12841 class_ref 143362 // Diffractometer
12842 class_ref 143490 // DiffractometerTemp
12846 artifact 136194 "diffractometerfactory"
12847 stereotype "source"
12848 cpp_h "#ifndef _${NAME}_H
12859 cpp_src "${description}
12865 class_ref 144514 // DiffractometerType
12866 class_ref 144386 // DiffractometerFactory
12870 artifact 129538 "fitparameter"
12871 stereotype "source"
12872 cpp_h "#ifndef _${NAME}_H
12883 * \\brief Overload of the << operator for the FitParameter class
12885 * \\param fitParameter
12886 * \\return The flux modified.
12888 inline std::ostream &
12889 operator<<(std::ostream & flux, hkl::FitParameter const & fitParameter)
12891 return fitParameter.printToStream(flux);
12896 cpp_src "${description}
12902 class_ref 130178 // FitParameter
12906 artifact 130050 "fitparameterlist"
12907 stereotype "source"
12908 cpp_h "#ifndef _${NAME}_H
12918 * @brief Overload of the << operator for the %FitParameterList class
12920 * @param fitParameterList
12921 * @return the modified flux.
12924 operator<<(std::ostream & flux, hkl::FitParameterList const & fitParameterList);
12927 cpp_src "${description}
12933 class_ref 131330 // FitParameterList
12937 artifact 130434 "geometry"
12938 stereotype "source"
12939 cpp_h "#ifndef _${NAME}_H
12950 * \\brief Surcharge de l'operateur << pour la class Geometry
12954 * This function use the printToStream virtual function to print on screen
12955 * or in an ostream. Because the operator<< can not be declare as virtual
12956 * we need to use this hake to virtualize not the operator<< but the function
12957 * called by it printToStream
12960 operator<<(std::ostream & flux, hkl::Geometry const & geometry);
12963 cpp_src "${description}
12970 * \\brief Surcharge de l'operateur << pour la class Geometry
12974 * This function use the printToStream virtual function to print on screen
12975 * or in an ostream. Because the operator<< can not be declare as virtual
12976 * we need to use this hake to virtualize not the operator<< but the function
12977 * called by it printToStream
12979 std::ostream & operator<<(std::ostream & flux, hkl::Geometry const & geometry)
12981 return geometry.printToStream(flux);
12985 class_ref 147202 // _vector_int_
12986 class_ref 147330 // _vector_vector_int_
12987 class_ref 131714 // Geometry
12991 artifact 128182 "HKLException"
12992 stereotype "source"
12993 cpp_h "#ifndef _${NAME}_H
13000 #define HKLEXCEPTION(a,b) do {\\
13001 std::ostringstream location;\\
13002 location << __FILE__ << \" line : \" << __LINE__;\\
13003 throw HKLException((a),(b),location.str());\\
13012 cpp_src "${description}
13017 # include <iostream>
13022 idl_src "#ifndef _${NAME}_H
13033 class_ref 128438 // ErrorSeverity
13034 class_ref 128310 // Error
13035 class_ref 128211 // ErrorList
13036 class_ref 128182 // HKLException
13040 artifact 129922 "hklobject"
13041 stereotype "source"
13042 cpp_h "#ifndef _${NAME}_H
13052 * @brief Overload of the << operator for the HKLObject class
13055 * @return the modified flux.
13057 inline std::ostream &
13058 operator << (std::ostream & flux, hkl::HKLObject const & hklObject)
13060 return hklObject.printToStream(flux);
13065 cpp_src "${description}
13071 class_ref 131202 // HKLObject
13075 artifact 137602 "holder"
13076 stereotype "source"
13077 cpp_h "#ifndef _${NAMESPACE}_${NAME}_H
13078 #define _${NAMESPACE}_${NAME}_H
13083 namespace hkl { class Holder; }
13088 * @brief Overload of the << operator for the Holder class
13091 * @return the modified flux.
13093 inline std::ostream &
13094 operator << (std::ostream & flux, hkl::Holder const & holder)
13096 return holder.printToStream(flux);
13100 * @brief Overload of the << operator for the HolderList class
13103 * @return the modified flux.
13105 inline std::ostream &
13106 operator << (std::ostream & flux, hkl::HolderList const & holders)
13108 return holders.printToStream(flux);
13112 cpp_src "${description}
13118 class_ref 148610 // HolderRow
13119 class_ref 149762 // HolderList
13120 class_ref 148482 // Holder
13124 artifact 130306 "lattice"
13125 stereotype "source"
13126 cpp_h "#ifndef _${NAME}_H
13131 #include \"fitparameter.h\"
13132 #include \"value.h\"
13138 * @brief Surcharge de l'operateur << pour la class Lattice
13139 * @param flux The ostream to print into.
13140 * @param lattice The Lattice to print
13143 inline std::ostream &
13144 operator << (std::ostream & flux, hkl::Lattice const & lattice)
13146 return lattice.printToStream(flux);
13150 cpp_src "${description}
13156 class_ref 131586 // Lattice
13160 artifact 129666 "mymap"
13161 stereotype "source"
13162 cpp_h "#ifndef _${NAME}_H
13174 class_ref 130306 // MyMap
13178 artifact 128770 "mystring"
13179 stereotype "source"
13180 cpp_h "#ifndef _${NAME}_H
13191 cpp_src "${description}
13196 java_src "${comment}
13200 idl_src "#ifndef _${NAME}_H
13211 class_ref 128898 // MyString
13215 artifact 128898 "object"
13216 stereotype "source"
13217 cpp_h "#ifndef _${NAME}_H
13227 * \\brief Surcharge de l'operateur << pour la class BaseObject
13232 inline std::ostream &
13233 operator << (std::ostream & flux, hkl::ObjectBase const & object)
13235 return object.printToStream(flux);
13239 cpp_src "${description}
13245 class_ref 129154 // ObjectBase
13246 class_ref 129282 // ObjectReadOnly
13247 class_ref 129410 // Object
13251 artifact 129026 "observer"
13252 stereotype "source"
13253 cpp_h "#ifndef _${NAME}_H
13264 cpp_src "${description}
13270 class_ref 129538 // Observer
13271 class_ref 129666 // Observable
13275 artifact 129282 "parameter"
13276 stereotype "source"
13277 cpp_h "#ifndef _${NAME}_H
13288 * \\brief Overload of the << operator for the Parameter class
13289 * \\param flux The ostream to modify.
13290 * \\param parameter The Parameter to print.
13291 * \\return the modified ostream
13293 inline std::ostream &
13294 operator<<(std::ostream & flux, hkl::Parameter const & parameter)
13296 return parameter.printToStream(flux);
13300 cpp_src "${description}
13306 class_ref 129922 // Parameter
13310 artifact 129794 "parameterlist"
13311 stereotype "source"
13312 cpp_h "#ifndef _${NAME}_H
13322 * @brief Overload of the << operator for the %ParameterList class
13324 * @param parameterList
13325 * @return the modified flux.
13327 inline std::ostream &
13328 operator<<(std::ostream & flux, hkl::ParameterList const & parameterList)
13330 return parameterList.printToStream(flux);
13335 cpp_src "${description}
13341 class_ref 131074 // ParameterList
13345 artifact 130562 "portability"
13346 stereotype "source"
13347 cpp_h "#define HKL_MAJOR 2
13348 #define HKL_MINOR 3
13349 #define HKL_PATCH 0
13351 #define HKL_VERSION (HKL_MAJOR * 10000 + HKL_MINOR * 100 + HKL_PATCH)
13357 artifact 132610 "pseudoaxe"
13358 stereotype "source"
13359 cpp_h "#ifndef _${NAME}_H
13369 * \\brief Overload of the << operator for the PseudoAxe class
13371 inline std::ostream &
13372 operator<<(std::ostream & flux, hkl::PseudoAxe const & pseudoAxe)
13374 return pseudoAxe.printToStream(flux);
13378 cpp_src "${description}
13384 class_ref 134786 // PseudoAxe
13388 artifact 132738 "pseudoaxeengine"
13389 stereotype "source"
13390 cpp_h "#ifndef _${NAME}_H
13400 * \\brief Overload of the << operator for the PseudoAxe class
13402 template<typename T>
13403 inline std::ostream &
13404 operator<<(std::ostream & flux, hkl::PseudoAxeEngineTemp<T> const & pseudoAxeEngine)
13406 return pseudoAxeEngine.printToStream(flux);
13411 cpp_src "${description}
13417 class_ref 134914 // PseudoAxeEngine
13418 class_ref 135170 // PseudoAxeEngineTemp
13419 class_ref 144898 // PseudoAxeEngineWithSampleTemp
13423 artifact 132866 "pseudoaxeenginelist"
13424 stereotype "source"
13425 cpp_h "#ifndef _${NAME}_H
13435 inline std::ostream &
13436 operator <<(std::ostream & flux, hkl::PseudoAxeEngineList const & pseudoAxeEngineList)
13438 return pseudoAxeEngineList.printToStream(flux);
13443 cpp_src "${description}
13449 class_ref 135426 // PseudoAxeEngineList
13453 artifact 132994 "pseudoaxelist"
13454 stereotype "source"
13455 cpp_h "#ifndef _${NAME}_H
13465 * @brief Overload of the << operator for the %PseudoAxeList class
13467 * @param pseudoAxeList
13468 * @return the modified flux.
13470 inline std::ostream &
13471 operator<<(std::ostream & flux, hkl::PseudoAxeList const & pseudoAxeList)
13473 return pseudoAxeList.printToStream(flux);
13477 cpp_src "${description}
13482 idl_src "#ifndef _${NAME}_H
13493 class_ref 135042 // PseudoAxeList
13497 artifact 128386 "quaternion"
13498 stereotype "source"
13499 cpp_h "#ifndef _${NAME}_H
13504 #include \"convenience.h\"
13511 * \\brief Surcharge de l'operateur << pour la class Quaternion
13516 inline std::ostream &
13517 operator << (std::ostream & flux, hkl::Quaternion const & q)
13519 return q.printToStream(flux);
13523 cpp_src "${description}
13529 class_ref 128770 // Quaternion
13533 artifact 129154 "range"
13534 stereotype "source"
13535 cpp_h "#ifndef _${NAME}_H
13546 * \\brief Overload of the << operator for the Range clas
13547 * \\param flux The ostream to modify.
13548 * \\param range The range to print.
13550 * \\return the modified ostream
13552 inline std::ostream &
13553 operator<<(std::ostream & flux, hkl::Range const & range)
13555 return range.printToStream(flux);
13558 inline hkl::Range cos(hkl::Range const & range)
13562 double min = range.get_min().get_value();
13563 double current = range.get_current().get_value();
13564 double consign = range.get_consign().get_value();
13565 double max = range.get_max().get_value();
13567 if (max - min >= 2 * hkl::constant::math::pi)
13568 res.set(-1, cos(current), cos(consign), 1);
13571 int quad_min = (int)floor(2 * min / hkl::constant::math::pi) % 4;
13575 int quad_max = (int)floor(2 * max / hkl::constant::math::pi) % 4;
13579 //cout << \"quadrant : \" << quad_min << \", \" << quad_max << endl;
13586 res.set(cos(max), cos(current), cos(consign), cos(min));
13589 res.set(-1, cos(current), cos(consign), 1);
13592 res.set(cos(min), cos(current), cos(consign), 1);
13595 if (cos(min) < cos(max))
13596 res.set(cos(min), cos(current), cos(consign), 1);
13598 res.set(cos(max), cos(current), cos(consign), 1);
13607 res.set(cos(max), cos(current), cos(consign), cos(min));
13610 if (cos(min) < cos(max))
13611 res.set(cos(min), cos(current), cos(consign ), 1);
13613 res.set(cos(max), cos(current), cos(consign), 1);
13616 res.set(cos(max), cos(current), cos(consign), 1);
13624 res.set(-1, cos(current), cos(consign), cos(min));
13627 if (cos(min) < cos(max))
13628 res.set(-1, cos(current), cos(consign), cos(max));
13630 res.set(-1, cos(current), cos(consign), cos(min));
13633 res.set(cos(min), cos(current), cos(consign), cos(max));
13636 res.set(-1, cos(current), cos(consign), 1);
13644 if (cos(min) < cos(max))
13645 res.set(-1, cos(current), cos(consign), cos(max));
13647 res.set(-1, cos(current), cos(consign), cos(min));
13650 res.set(-1, cos(current), cos(consign), cos(max));
13654 res.set(cos(min), cos(current), cos(consign), cos(max));
13660 //cout << \"cos : \" << res << endl;
13664 inline hkl::Range acos(hkl::Range const & range)
13666 double min = acos(range.get_max().get_value());
13667 double current = acos(range.get_current().get_value());
13668 double consign = acos(range.get_consign().get_value());
13669 double max = acos(range.get_min().get_value());
13671 return hkl::Range(min, current, consign, max);
13675 cpp_src "${description}
13681 class_ref 129794 // Range
13685 artifact 131586 "reflection"
13686 stereotype "source"
13687 cpp_h "#ifndef _${NAME}_H
13697 * @brief Surcharge de l'operateur << pour la class reflection
13698 * @param flux The flux to print into
13699 * @param reflection The Reflection to print.
13701 inline std::ostream &
13702 operator << (std::ostream & flux, hkl::Reflection const & reflection)
13704 return reflection.printToStream(flux);
13708 cpp_src "${description}
13714 class_ref 133250 // ReflectionType
13715 class_ref 133122 // Reflection
13719 artifact 131714 "reflectionfactory"
13720 stereotype "source"
13721 cpp_h "#ifndef _${NAME}_H
13732 cpp_src "${description}
13734 #include \"reflection_monocrystal.h\"
13739 class_ref 133506 // ReflectionFactory
13743 artifact 131842 "reflectionlist"
13744 stereotype "source"
13745 cpp_h "#ifndef _${NAME}_H
13755 inline std::ostream &
13756 operator<<(std::ostream & flux, hkl::ReflectionList const & factory)
13758 return factory.printToStream(flux);
13763 cpp_src "${description}
13769 class_ref 133634 // ReflectionList
13773 artifact 128130 "svector"
13774 stereotype "source"
13775 cpp_h "#ifndef _${NAME}_H
13783 #include \"HKLException.h\"
13784 #include \"constant.h\"
13789 //forward declaration
13796 * \\brief Surcharge de l'operateur << pour la class svector
13801 std::ostream & operator << (std::ostream & flux, hkl::svector const & v);
13804 * \\brief Surcharge de l'operateur << pour la class smatrix
13809 std::ostream & operator << (std::ostream & flux, hkl::smatrix const & m);
13813 cpp_src "${description}
13820 * \\brief Surcharge de l'operateur << pour la class svector
13825 std::ostream & operator << (std::ostream & flux, hkl::svector const & v)
13827 return v.printToStream(flux);
13831 * \\brief Surcharge de l'operateur << pour la class smatrix
13836 std::ostream & operator << (std::ostream & flux, hkl::smatrix const & m)
13838 return m.printToStream(flux);
13843 class_ref 128002 // svector
13844 class_ref 128514 // smatrix
13848 artifact 128060 "value"
13849 stereotype "source"
13850 cpp_h "#ifndef _${NAME}_H
13857 #include \"constant.h\"
13864 * \\brief Surcharge de l'operateur << pour la class Value
13869 inline std::ostream & operator << (std::ostream & flux, hkl::Value const & value)
13871 return value.printToStream(flux);
13875 fabs(hkl::Value const & value)
13877 hkl::Value res(fabs(value.get_value()));
13882 cos(hkl::Value const & value)
13884 hkl::Value res(cos(value.get_value()));
13889 operator/(double d, hkl::Value const & value)
13891 return d / value.get_value();
13895 operator*(double d, hkl::Value const & value)
13897 return d * value.get_value();
13901 cpp_src "${description}
13906 java_src "${comment}
13910 idl_src "#ifndef _${NAME}_H
13921 class_ref 128060 // Value
13925 artifact 130178 "source"
13926 stereotype "source"
13927 cpp_h "#ifndef _${NAME}_H
13932 #include \"value.h\"
13933 #include \"svector.h\"
13934 #include \"quaternion.h\"
13940 * @brief Surcharge de l'operateur << pour la class Source
13941 * @param flux The ostream to print into.
13942 * @param source The Source to print.
13943 * @return the modified flux.
13945 inline std::ostream &
13946 operator << (std::ostream & flux, hkl::Source const & source)
13948 return source.printToStream(flux);
13952 cpp_src "${description}
13958 class_ref 131458 // Source
13962 artifact 132098 "sample"
13963 stereotype "source"
13964 cpp_h "#ifndef _${NAME}_H
13969 #include \"reflectionlist.h\"
13975 * @brief Surcharge de l'operateur << pour la class cristal
13976 * @param flux The ostream to print into.
13977 * @param sample The Sample to print
13980 inline std::ostream &
13981 operator << (std::ostream & flux, hkl::Sample const & sample)
13983 return sample.printToStream(flux);
13988 cpp_src "${description}
13994 class_ref 134018 // SampleType
13995 class_ref 133378 // Sample
13999 artifact 132354 "samplefactory"
14000 stereotype "source"
14001 cpp_h "#ifndef _${NAME}_H
14012 cpp_src "${description}
14014 #include \"sample_monocrystal.h\"
14019 class_ref 134274 // SampleFactory
14023 artifact 132482 "samplelist"
14024 stereotype "source"
14025 cpp_h "#ifndef _${NAME}_H
14035 inline std::ostream &
14036 operator <<(std::ostream & flux, hkl::SampleList const & sampleList)
14038 return sampleList.printToStream(flux);
14042 cpp_src "${description}
14048 class_ref 134402 // SampleList
14052 artifact 133890 "mode"
14053 stereotype "source"
14054 cpp_h "#ifndef _${NAME}_H
14059 #include \"convenience.h\"
14066 * \\brief Surcharge de l'operateur << for the Mode class
14067 * \\param flux The flux to modifie
14068 * \\param mode The mode to stream.
14069 * \\return The modified flux.
14071 template<typename T>
14073 operator << (std::ostream & flux, hkl::ModeTemp<T> const & mode)
14075 return mode.printToStream(flux);
14080 cpp_src "${description}
14086 class_ref 138754 // Mode
14087 class_ref 138882 // ModeTemp
14091 artifact 134018 "modelist"
14092 stereotype "source"
14093 cpp_h "#ifndef _${NAME}_H
14102 inline std::ostream &
14103 operator <<(std::ostream & flux, hkl::ModeList const & modeList)
14105 return modeList.printToStream(flux);
14110 cpp_src "${description}
14116 class_ref 139138 // ModeList
14121 package_ref 134146 // axe
14123 package_ref 128002 // geometry
14125 package_ref 128514 // reflection
14127 package_ref 128642 // sample
14129 package_ref 128770 // pseudoAxeEngine
14131 package_ref 129922 // mode
14133 package_ref 131074 // affinement
14135 package_ref 132226 // twoC
14137 package_ref 131714 // eulerian4C
14139 package_ref 132738 // kappa4C
14141 package_ref 133250 // eulerian6C
14143 package_ref 133634 // kappa6C