source: src/LinearAlgebra/BoxVector.cpp@ 5d4b73

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 5d4b73 was e3e6e2, checked in by Frederik Heber <heber@…>, 14 years ago

Added BoxVector class.

BoxVector is simply a Vector with a different class name. This is needed to
discern in a template between (Box)Vectors that adhere to the boundary conditions
of the box and such (normal) Vectors that don't.

  • Property mode set to 100644
File size: 843 bytes
Line 
1/*
2 * BoxVector.cpp
3 *
4 * Created on: Aug 26, 2010
5 * Author: heber
6 */
7
8#include <iostream>
9
10#include "LinearAlgebra/BoxVector.hpp"
11#include "LinearAlgebra/Vector.hpp"
12
13BoxVector::BoxVector()
14{}
15
16BoxVector::~BoxVector()
17{}
18
19/** Factors given vector \a a times \a m.
20 * \param a vector
21 * \param m factor
22 * \return m * a
23 */
24BoxVector const operator*(const BoxVector& a, const double m)
25{
26 BoxVector x(a);
27 x.Scale(m);
28 return x;
29};
30
31/** Factors given vector \a a times \a m.
32 * \param m factor
33 * \param a vector
34 * \return m * a
35 */
36BoxVector const operator*(const double m, const BoxVector& a )
37{
38 BoxVector x(a);
39 x.Scale(m);
40 return x;
41};
42
43ostream& operator<<(ostream& ost, const BoxVector& m)
44{
45 ost << "(";
46 for (int i=0;i<NDIM;i++) {
47 ost << m[i];
48 if (i != 2)
49 ost << ",";
50 }
51 ost << ")";
52 return ost;
53};
Note: See TracBrowser for help on using the repository browser.