IMP logo
IMP Reference Guide  2.20.2
The Integrative Modeling Platform
ChiScoreLog.h
Go to the documentation of this file.
1 /**
2  * \file IMP/saxs/ChiScoreLog.h \brief scoring with log intensity
3  *
4  * Copyright 2007-2022 IMP Inventors. All rights reserved.
5  *
6  */
7 
8 #ifndef IMPSAXS_CHI_SCORE_LOG_H
9 #define IMPSAXS_CHI_SCORE_LOG_H
10 
11 #include <IMP/warning_macros.h>
12 
13 #include <IMP/saxs/saxs_config.h>
14 #include "Profile.h"
15 
16 IMPSAXS_BEGIN_NAMESPACE
17 
18 /**
19  chi scoring on log intensities
20 */
21 class IMPSAXSEXPORT ChiScoreLog : public IMP::Object {
22  public:
23  ChiScoreLog() : IMP::Object("ChiScoreLog%1%") {}
24 
25  double compute_score(const Profile* exp_profile, const Profile* model_profile,
26  bool use_offset = false) const;
27 
28  double compute_score(const Profile* exp_profile, const Profile* model_profile,
29  double min_q, double max_q) const;
30 
31  double compute_scale_factor(const Profile* exp_profile,
32  const Profile* model_profile,
33  double offset = 0.0) const;
34 
35  double compute_offset(const Profile* exp_profile,
36  const Profile* model_profile) const {
37  // not implemented as no straightforward solution to the equations
38  IMP_UNUSED(exp_profile);
39  IMP_UNUSED(model_profile);
40  return 0.0;
41  }
42 
44 };
45 
46 IMPSAXS_END_NAMESPACE
47 
48 #endif /* IMPSAXS_CHI_SCORE_LOG_H */
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Common base class for heavy weight IMP objects.
Definition: Object.h:111
Macros to control compiler warnings.
#define IMP_UNUSED(variable)
A class for profile storing and computation.