Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/analysis_correlation.cpp

    r952f38 re5c0a1  
    1313#include "analysis_correlation.hpp"
    1414#include "element.hpp"
    15 #include "Helpers/Info.hpp"
    16 #include "Helpers/Log.hpp"
     15#include "info.hpp"
     16#include "log.hpp"
    1717#include "molecule.hpp"
    1818#include "tesselation.hpp"
    1919#include "tesselationhelpers.hpp"
    2020#include "triangleintersectionlist.hpp"
    21 #include "LinearAlgebra/Vector.hpp"
    22 #include "LinearAlgebra/Matrix.hpp"
    23 #include "Helpers/Verbose.hpp"
     21#include "vector.hpp"
     22#include "Matrix.hpp"
     23#include "verbose.hpp"
    2424#include "World.hpp"
    2525#include "Box.hpp"
     
    3232 * \return Map of doubles with values the pair of the two atoms.
    3333 */
    34 PairCorrelationMap *PairCorrelation(std::vector<molecule *> &molecules, const std::vector<element *> &elements)
     34PairCorrelationMap *PairCorrelation(std::vector<molecule *> &molecules, const std::vector<const element *> &elements)
    3535{
    3636  Info FunctionInfo(__func__);
     
    4747
    4848  // create all possible pairs of elements
    49   set <pair<element *, element *> > PairsOfElements;
     49  set <pair<const element *,const element *> > PairsOfElements;
    5050  if (elements.size() >= 2) {
    51     for (vector<element *>::const_iterator type1 = elements.begin(); type1 != elements.end(); ++type1)
    52       for (vector<element *>::const_iterator type2 = elements.begin(); type2 != elements.end(); ++type2)
     51    for (vector<const element *>::const_iterator type1 = elements.begin(); type1 != elements.end(); ++type1)
     52      for (vector<const element *>::const_iterator type2 = elements.begin(); type2 != elements.end(); ++type2)
    5353        if (type1 != type2) {
    54           PairsOfElements.insert( pair<element *, element*>(*type1,*type2) );
    55           DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << (*type1)->symbol << " and " << (*type2)->symbol << "." << endl);
     54          PairsOfElements.insert( make_pair(*type1,*type2) );
     55          DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << *(*type1) << " and " << *(*type2) << "." << endl);
    5656        }
    5757  } else if (elements.size() == 1) { // one to all are valid
    58     element *elemental = *elements.begin();
    59     PairsOfElements.insert( pair<element *, element*>(elemental,(element *)NULL) );
    60     PairsOfElements.insert( pair<element *, element*>((element *)NULL,elemental) );
     58    const element *elemental = *elements.begin();
     59    PairsOfElements.insert( pair<const element *,const element*>(elemental,0) );
     60    PairsOfElements.insert( pair<const element *,const element*>(0,elemental) );
    6161  } else { // all elements valid
    6262    PairsOfElements.insert( pair<element *, element*>((element *)NULL, (element *)NULL) );
     
    7373          DoLog(3) && (Log() << Verbose(3) << "Current otheratom is " << **runner << "." << endl);
    7474          if ((*iter)->getId() < (*runner)->getId()){
    75             for (set <pair<element *, element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner)
     75            for (set <pair<const element *,const element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner)
    7676              if ((PairRunner->first == (**iter).type) && (PairRunner->second == (**runner).type)) {
    7777                distance = domain.periodicDistance(*(*iter)->node,*(*runner)->node);
     
    9494 * \return Map of doubles with values the pair of the two atoms.
    9595 */
    96 PairCorrelationMap *PeriodicPairCorrelation(std::vector<molecule *> &molecules, const std::vector<element *> &elements, const int ranges[NDIM] )
     96PairCorrelationMap *PeriodicPairCorrelation(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const int ranges[NDIM] )
    9797{
    9898  Info FunctionInfo(__func__);
     
    114114
    115115  // create all possible pairs of elements
    116   set <pair<element *, element *> > PairsOfElements;
     116  set <pair<const element *,const element *> > PairsOfElements;
    117117  if (elements.size() >= 2) {
    118     for (vector<element *>::const_iterator type1 = elements.begin(); type1 != elements.end(); ++type1)
    119       for (vector<element *>::const_iterator type2 = elements.begin(); type2 != elements.end(); ++type2)
     118    for (vector<const element *>::const_iterator type1 = elements.begin(); type1 != elements.end(); ++type1)
     119      for (vector<const element *>::const_iterator type2 = elements.begin(); type2 != elements.end(); ++type2)
    120120        if (type1 != type2) {
    121           PairsOfElements.insert( pair<element *, element*>(*type1,*type2) );
    122           DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << (*type1)->symbol << " and " << (*type2)->symbol << "." << endl);
     121          PairsOfElements.insert( make_pair(*type1,*type2) );
     122          DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << *(*type1) << " and " << *(*type2) << "." << endl);
    123123        }
    124124  } else if (elements.size() == 1) { // one to all are valid
    125     element *elemental = *elements.begin();
    126     PairsOfElements.insert( pair<element *, element*>(elemental,(element *)NULL) );
    127     PairsOfElements.insert( pair<element *, element*>((element *)NULL,elemental) );
     125    const element *elemental = *elements.begin();
     126    PairsOfElements.insert( pair<const element *,const element*>(elemental,0) );
     127    PairsOfElements.insert( pair<const element *,const element*>(0,elemental) );
    128128  } else { // all elements valid
    129129    PairsOfElements.insert( pair<element *, element*>((element *)NULL, (element *)NULL) );
     
    148148                  DoLog(3) && (Log() << Verbose(3) << "Current otheratom is " << **runner << "." << endl);
    149149                  if ((*iter)->getId() < (*runner)->getId()){
    150                     for (set <pair<element *, element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner)
     150                    for (set <pair<const element *,const element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner)
    151151                      if ((PairRunner->first == (**iter).type) && (PairRunner->second == (**runner).type)) {
    152152                        periodicOtherX = FullInverseMatrix * (*(*runner)->node); // x now in [0,1)^3
     
    177177 * \return Map of dobules with values as pairs of atom and the vector
    178178 */
    179 CorrelationToPointMap *CorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<element *> &elements, const Vector *point )
     179CorrelationToPointMap *CorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point )
    180180{
    181181  Info FunctionInfo(__func__);
     
    195195    for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
    196196      DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl);
    197       for (vector<element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
     197      for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
    198198        if ((*type == NULL) || ((*iter)->type == *type)) {
    199199          distance = domain.periodicDistance(*(*iter)->node,*point);
     
    214214 * \return Map of dobules with values as pairs of atom and the vector
    215215 */
    216 CorrelationToPointMap *PeriodicCorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<element *> &elements, const Vector *point, const int ranges[NDIM] )
     216CorrelationToPointMap *PeriodicCorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point, const int ranges[NDIM] )
    217217{
    218218  Info FunctionInfo(__func__);
     
    236236    for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
    237237      DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl);
    238       for (vector<element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
     238      for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
    239239        if ((*type == NULL) || ((*iter)->type == *type)) {
    240240          periodicX = FullInverseMatrix * (*(*iter)->node); // x now in [0,1)^3
     
    262262 * \return Map of doubles with values as pairs of atom and the BoundaryTriangleSet that's closest
    263263 */
    264 CorrelationToSurfaceMap *CorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<element *> &elements, const Tesselation * const Surface, const LinkedCell *LC )
     264CorrelationToSurfaceMap *CorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell *LC )
    265265{
    266266  Info FunctionInfo(__func__);
     
    283283    for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
    284284      DoLog(3) && (Log() << Verbose(3) << "\tCurrent atom is " << *(*iter) << "." << endl);
    285       for (vector<element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
     285      for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
    286286        if ((*type == NULL) || ((*iter)->type == *type)) {
    287287          TriangleIntersectionList Intersections((*iter)->node,Surface,LC);
     
    308308 * \return Map of doubles with values as pairs of atom and the BoundaryTriangleSet that's closest
    309309 */
    310 CorrelationToSurfaceMap *PeriodicCorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<element *> &elements, const Tesselation * const Surface, const LinkedCell *LC, const int ranges[NDIM] )
     310CorrelationToSurfaceMap *PeriodicCorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell *LC, const int ranges[NDIM] )
    311311{
    312312  Info FunctionInfo(__func__);
     
    334334    for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
    335335      DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl);
    336       for (vector<element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
     336      for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
    337337        if ((*type == NULL) || ((*iter)->type == *type)) {
    338338          periodicX = FullInverseMatrix * (*(*iter)->node); // x now in [0,1)^3
Note: See TracChangeset for help on using the changeset viewer.