IMP  2.3.0
The Integrative Modeling Platform
TransformedDistancePairScore.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/TransformedDistancePairScore.h
3  * \brief A score on the distance between a pair of particles
4  * after transforming one.
5  *
6  * Copyright 2007-2014 IMP Inventors. All rights reserved.
7  */
8 
9 #ifndef IMPCORE_TRANSFORMED_DISTANCE_PAIR_SCORE_H
10 #define IMPCORE_TRANSFORMED_DISTANCE_PAIR_SCORE_H
11 
12 #include <IMP/core/core_config.h>
13 #include <IMP/generic.h>
14 #include <IMP/PairScore.h>
15 #include <IMP/UnaryFunction.h>
16 #include <IMP/base/Pointer.h>
17 #include <IMP/pair_macros.h>
18 
20 
21 IMPCORE_BEGIN_NAMESPACE
22 
23 /** \brief Apply a function to the distance between two particles
24  after transforming the first
25 
26  Apply a transform to the second particle and then apply the unary
27  function to the distance between the transformed particle and the
28  second. This can be used to implement symmetry restraints.
29  */
30 class IMPCOREEXPORT TransformedDistancePairScore : public PairScore {
34 
35  public:
37  const algebra::Transformation3D &transformation);
38 
39  /** Set the transformation object.*/
40  void set_transformation(const algebra::Transformation3D &rot);
41  virtual double evaluate_index(kernel::Model *m,
48  ;
49 };
50 
51 IMPCORE_END_NAMESPACE
52 
53 #endif /* IMPCORE_TRANSFORMED_DISTANCE_PAIR_SCORE_H */
Simple 3D transformation class.
Class for adding derivatives from restraints to the model.
Import IMP/kernel/pair_macros.h in the namespace.
A smart pointer to a ref-counted Object that is a class member.
Definition: Pointer.h:147
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Import IMP/kernel/UnaryFunction.h in the namespace.
Apply a function to the distance between two particles after transforming the first.
#define IMP_PAIR_SCORE_METHODS(Name)
virtual double evaluate_index(kernel::Model *m, const kernel::ParticleIndexPair &vt, DerivativeAccumulator *da) const
Compute the score and the derivative if needed.
Abstract single variable functor class for score functions.
A class to store an fixed array of same-typed values.
Definition: Array.h:33
Abstract class for scoring object(s) of type ParticlePair.
virtual ModelObjectsTemp do_get_inputs(kernel::Model *m, const ParticleIndexes &pis) const
Import IMP/kernel/PairScore.h in the namespace.
Simple 3D transformation class.
3D rotation class.
Definition: Rotation3D.h:46
A nullptr-initialized pointer to an IMP Object.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for storing model, its restraints, constraints, and particles.
Definition: kernel/Model.h:73
Import IMP/kernel/generic.h in the namespace.