IMP logo
IMP Reference Guide  develop.4785481560,2024/03/29
The Integrative Modeling Platform
MinimumQuadScore.h
Go to the documentation of this file.
1 // Autogenerated by ../../../../tmp/nightly-build-86016/imp-20240329.develop.4785481560/tools/build/make_containers.py
2 // from ../../../../tmp/nightly-build-86016/imp-20240329.develop.4785481560/tools/build/container_templates/container/MinimumClassnameScore.h
3 // Do not edit - any changes will be lost!
4 
5 /**
6  * \file IMP/container/MinimumQuadScore.h
7  * \brief Define QuadScore.
8  *
9  * Copyright 2007-2022 IMP Inventors. All rights reserved.
10  */
11 
12 #ifndef IMPCONTAINER_MINIMUM_QUAD_SCORE_H
13 #define IMPCONTAINER_MINIMUM_QUAD_SCORE_H
14 
15 #include <IMP/container/container_config.h>
16 #include <IMP/QuadScore.h>
17 #include <IMP/quad_macros.h>
18 
19 IMPCONTAINER_BEGIN_NAMESPACE
20 
21 //! Evaluate the min or max n particle_quad scores of the passed set
22 /** Each of the set of QuadScores is evaluated and the sum of the
23  minimum n is returned.
24 */
25 class IMPCONTAINEREXPORT MinimumQuadScore : public QuadScore {
26  QuadScores scores_;
27  unsigned int n_;
28 
29  public:
30  MinimumQuadScore(const QuadScoresTemp &scores, unsigned int n = 1,
31  std::string name = "QuadScore %1%");
32  virtual double evaluate_index(Model *m, const ParticleIndexQuad& vt,
33  DerivativeAccumulator *da) const override;
35  Model *m, const ParticleIndexes &pis) const override;
38 
40  const ParticleIndexQuad& vt) const
41  override;
42 };
43 
45 
46 IMPCONTAINER_END_NAMESPACE
47 
48 #endif /* IMPCONTAINER_MINIMUM_QUAD_SCORE_H */
virtual Restraints do_create_current_decomposition(Model *m, const ParticleIndexQuad &vt) const
Override this to return your own decomposition.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Macros for various classes.
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
Abstract class for scoring object(s) of type ParticleIndexQuad.
Definition: QuadScore.h:44
Evaluate the min or max n particle_quad scores of the passed set.
#define IMP_QUAD_SCORE_METHODS(Name)
Definition: quad_macros.h:25
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
virtual double evaluate_index(Model *m, const ParticleIndexQuad &vt, DerivativeAccumulator *da) const =0
Compute the score and the derivative if needed.
Define QuadScore.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
Class for adding derivatives from restraints to the model.