IMP logo
IMP Reference Guide  develop.4785481560,2024/03/29
The Integrative Modeling Platform
MinimumTripletScore.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/MinimumTripletScore.h
7  * \brief Define TripletScore.
8  *
9  * Copyright 2007-2022 IMP Inventors. All rights reserved.
10  */
11 
12 #ifndef IMPCONTAINER_MINIMUM_TRIPLET_SCORE_H
13 #define IMPCONTAINER_MINIMUM_TRIPLET_SCORE_H
14 
15 #include <IMP/container/container_config.h>
16 #include <IMP/TripletScore.h>
17 #include <IMP/triplet_macros.h>
18 
19 IMPCONTAINER_BEGIN_NAMESPACE
20 
21 //! Evaluate the min or max n particle_triplet scores of the passed set
22 /** Each of the set of TripletScores is evaluated and the sum of the
23  minimum n is returned.
24 */
25 class IMPCONTAINEREXPORT MinimumTripletScore : public TripletScore {
26  TripletScores scores_;
27  unsigned int n_;
28 
29  public:
30  MinimumTripletScore(const TripletScoresTemp &scores, unsigned int n = 1,
31  std::string name = "TripletScore %1%");
32  virtual double evaluate_index(Model *m, const ParticleIndexTriplet& vt,
33  DerivativeAccumulator *da) const override;
35  Model *m, const ParticleIndexes &pis) const override;
38 
40  const ParticleIndexTriplet& vt) const
41  override;
42 };
43 
45 
46 IMPCONTAINER_END_NAMESPACE
47 
48 #endif /* IMPCONTAINER_MINIMUM_TRIPLET_SCORE_H */
A class to store a fixed array of same-typed values.
Definition: Array.h:40
Macros for various classes.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Evaluate the min or max n particle_triplet scores of the passed set.
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
Define TripletScore.
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
virtual Restraints do_create_current_decomposition(Model *m, const ParticleIndexTriplet &vt) const
Override this to return your own decomposition.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
virtual double evaluate_index(Model *m, const ParticleIndexTriplet &vt, DerivativeAccumulator *da) const =0
Compute the score and the derivative if needed.
Abstract class for scoring object(s) of type ParticleIndexTriplet.
Definition: TripletScore.h:44
#define IMP_TRIPLET_SCORE_METHODS(Name)
Class for adding derivatives from restraints to the model.