18#ifndef RDKIT_SINGLECONFORMERALIGNMENT_GUARD
19#define RDKIT_SINGLECONFORMERALIGNMENT_GUARD
24#include <boost/dynamic_bitset.hpp>
63 const std::vector<double> &ref,
const int *refTypes,
64 const boost::dynamic_bitset<> *refCarbonRadii,
int nRefShape,
65 int nRefColor,
double refShapeVol,
double refColorVol,
66 const std::vector<double> &fit,
const int *fitTypes,
67 const boost::dynamic_bitset<> *fitCarbonRadii,
int nFitShape,
68 int nFitColor,
double fitShapeVol,
double fitColorVol,
69 const std::array<double, 7> &initQuatTrans, OptimMode optimMode,
70 double simAlpha,
double simBeta,
double mixingParam,
bool useCutoff,
71 double distCutoff,
double shapeConvergenceCriterion,
unsigned int maxIts);
95 std::array<double, 5>
calcScores(
const double *ref,
const double *fit,
96 bool includeColor =
false);
99 std::array<double, 5>
calcScores(
bool includeColor =
false);
103 const double colorOvVol,
104 bool includeColor =
true)
const;
116 double &shapeOvlpVol,
double &colorOvlpVol,
117 std::array<double, 7> &gradients);
136 bool doOverlay(std::array<double, 20> &scores,
unsigned int cycle);
169 std::array<double, 7>
d_quatTrans{1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
186 const boost::dynamic_bitset<> *refCarbonRadii,
187 const double *fit,
int numFitPts,
188 const boost::dynamic_bitset<> *fitCarbonRadii,
189 std::vector<double> &gradConverters,
190 const bool useCutoff,
const double distCutoff2,
191 const double *quat =
nullptr,
192 double *gradients =
nullptr);
196 const double *fit,
int numFitPts,
const int *fitTypes,
197 int numFitShape, std::vector<double> &gradConverters,
198 const bool useCutoff,
const double distCutoff2,
199 const double *quat,
double *gradients);
#define RDKIT_GAUSSIANSHAPE_EXPORT
double calcVolAndGrads(const double *ref, int numRefPts, const boost::dynamic_bitset<> *refCarbonRadii, const double *fit, int numFitPts, const boost::dynamic_bitset<> *fitCarbonRadii, std::vector< double > &gradConverters, const bool useCutoff, const double distCutoff2, const double *quat=nullptr, double *gradients=nullptr)