18#ifndef RDKIT_SINGLECONFORMERALIGNMENT_GUARD
19#define RDKIT_SINGLECONFORMERALIGNMENT_GUARD
24#include <boost/dynamic_bitset.hpp>
66 const std::vector<double> &ref,
const std::vector<double> &refAlphas,
67 const int *refTypes,
const boost::dynamic_bitset<> *refCarbonRadii,
68 int nRefShape,
int nRefColor,
double refShapeVol,
double refColorVol,
69 const std::vector<double> &fit,
const std::vector<double> &fitAlphas,
70 const int *fitTypes,
const boost::dynamic_bitset<> *fitCarbonRadii,
71 int nFitShape,
int nFitColor,
double fitShapeVol,
double fitColorVol,
72 const std::array<double, 7> &initQuatTrans, OptimMode optimMode,
73 double simAlpha,
double simBeta,
double mixingParam,
bool useCutoff,
74 double distCutoff,
double shapeConvergenceCriterion,
unsigned int maxIts);
98 std::array<double, 5>
calcScores(
const double *ref,
const double *fit,
99 bool includeColor =
false);
106 const double colorOvVol,
107 bool includeColor =
true)
const;
119 double &shapeOvlpVol,
double &colorOvlpVol,
120 std::array<double, 7> &gradients);
139 bool doOverlay(std::array<double, 20> &scores,
unsigned int cycle);
174 std::array<double, 7>
d_quatTrans{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
191 const double *ref,
const double *refAlphas,
int numRefPts,
192 const boost::dynamic_bitset<> *refCarbonRadii,
const double *fit,
193 const double *fitAlphas,
int numFitPts,
194 const boost::dynamic_bitset<> *fitCarbonRadii,
195 std::vector<double> &gradConverters,
const bool useCutoff,
196 const double distCutoff2,
const double *quat =
nullptr,
197 double *gradients =
nullptr);
201 const double *ref,
const double *refAlphas,
int numRefPts,
202 const int *refTypes,
const double *fit,
const double *fitAlphas,
203 int numFitPts,
const int *fitTypes,
int numFitShape,
204 std::vector<double> &gradConverters,
const bool useCutoff,
205 const double distCutoff2,
const double *quat,
double *gradients);
#define RDKIT_GAUSSIANSHAPE_EXPORT
RDKIT_GAUSSIANSHAPE_EXPORT double calcVolAndGrads(const double *ref, const double *refAlphas, int numRefPts, const boost::dynamic_bitset<> *refCarbonRadii, const double *fit, const double *fitAlphas, int numFitPts, const boost::dynamic_bitset<> *fitCarbonRadii, std::vector< double > &gradConverters, const bool useCutoff, const double distCutoff2, const double *quat=nullptr, double *gradients=nullptr)