/usr/include/BALL/NMR/shiftModel2D.h is in libball1.4-dev 1.4.1+20111206-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 | #ifndef BALL_NMR_SHIFTMODEL2D_H
#define BALL_NMR_SHIFTMODEL2D_H
#ifndef BALL_NMR_SHIFTMODULE_H
# include <BALL/NMR/shiftModule.h>
#endif
#ifndef BALL_NMR_SPECTRUM_H
#include <BALL/NMR/spectrum.h>
#endif
#include <vector>
namespace BALL
{
/** A class representing a complete parameterized 2D NMR shift model.
The model consists of peak list, a system, a spectrum type and parameters
*/
class BALL_EXPORT ShiftModel2D
: public ShiftModule
{
public:
BALL_CREATE(ShiftModel2D)
/** @name Type definitions
*/
//@{
enum SPECTRUM_TYPE{
HSQC_NH = 1,
HSQC_CH,
COSY_HH, // ist noch nicht implementiert!!! muesste ueber 2 Bindungslaengen spin = 1/2 pruefen....
COSY_CH, //
TOCSY_HH,
TOCSY_CH,
TOCSY_NH
};
//@}
/** @name Constructors and Destructors
*/
//@{
/** Default Constructor
*/
ShiftModel2D();
/** Detailed Constructor.
* If compute_shifts is set to false, we assume that the shifts have been previously assigned, and will use the
* properties as we find them in the system.
*/
ShiftModel2D(const String& filename,SPECTRUM_TYPE st, bool compute_shifts=true);
/** Detailed Constructor.
* If compute_shifts is set to false, we assume that the shifts have been previously assigned, and will use the
* properties as we find them in the system.
*/
ShiftModel2D(const String& filename,SPECTRUM_TYPE st, Vector2 origin, Vector2 dimension, Vector2 spacing, bool compute_shifts=true);
/** Copy constructor
*/
ShiftModel2D(const ShiftModel2D& model);
/** Destructor
*/
virtual ~ShiftModel2D();
/** Clear method.
*/
void clear();
//@}
/** @name Accessors
*/
//@{
/** Set the parameter filename.
*/
void setFilename(const String& filename)
throw(Exception::FileNotFound);
/** Return the parameter filename.
*/
const String& getFilename() const
{
return parameters_.getFilename();
};
/**
*/
const Parameters& getParameters() const
{
return parameters_;
};
/** Get the peaks
*/
const std::vector<Peak2D>& getPeaks() const
{
return peaks_;
};
/** Set the peaks
*/
void setPeaks(std::vector<Peak2D> peaks)
{
peaks_ = peaks;
};
/** Get the origin
*/
const Vector2& getOrigin() const
{
return origin_;
};
/** Set the origin
*/
void setOrigin(const Vector2& origin)
{
origin_ = origin;
};
/** Get the dimension
*/
const Vector2& getDimension() const
{
return dimension_;
};
/** Set the dimension
*/
void setDimension(const Vector2& dimension)
{
dimension_ = dimension;
}
/** Get the spacing
*/
const Vector2& getSpacing() const
{
return spacing_;
};
/** Set the system
*/
void setSystem( System* system)
{
system_ = system;
};
/** Return the system
*/
const System* getSystem() const
{
return system_;
};
void operator >> (Spectrum2D& spectrum);
//@}
/** @name Predicates
*/
//@{
/** Validity flag
*/
bool isValid() const;
//@}
/** @name Processor related methods
*/
//@{
/** Start method
*/
bool start();
/** Finish method
*/
bool finish();
/** Application method
*/
Processor::Result operator () (Composite& composite);
//@}
protected:
/*_ Initialize the model from the parameter file.
This method assumes that object has a valid parameter file assigned.
It sets {\tt valid_} to <b> true </b> if it could create a shift model
from the contents of the parameter file.
*/
bool init_()
throw(Exception::FileNotFound);
void createPeak_(Atom* proton, Atom* atom, float peakwidth_proton, float peakwidth_atom);
/*_ The spectrum peaks
* */
std::vector<Peak2D> peaks_;
/*_ The origin of the data
*/
Vector2 origin_;
/*_ Dimension of the data
*/
Vector2 dimension_;
/*_ spacing of the data
*/
Vector2 spacing_;
/*_ spectrum type
* */
SPECTRUM_TYPE type_;
/*_ The parameters object ?? Why do we need them??? evtl durch String filename ersetzten
*/
Parameters parameters_;
/*_ pointer to the system
*/
System* system_;
/*_ The validity flag.
Set to <b> true </b> if the object was initialized correctly.
*/
bool valid_;
/// Flag for shift computation
bool compute_shifts_;
};
std::ostream& operator << (std::ostream& os, const BALL::ShiftModel2D& shiftmodel);
} // namespace BALL
#endif // BALL_NMR_SHIFTMODEL2D_H
|