BALL
1.4.1
|
00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 00005 #ifndef BALL_STRUCTURE_PEPTIDECAPPROCESSOR_H 00006 #define BALL_STRUCTURE_PEPTIDECAPPROCESSOR_H 00007 00008 #ifndef BALL_COMMON_H 00009 # include <BALL/common.h> 00010 #endif 00011 00012 #ifndef BALL_CONCEPT_COMPOSITE_H 00013 # include <BALL/CONCEPT/composite.h> 00014 #endif 00015 00016 #ifndef BALL_MATHS_VECTOR3_H 00017 # include <BALL/MATHS/vector3.h> 00018 #endif 00019 00020 #ifndef BALL_KERNEL_RESIDUE_H 00021 # include <BALL/KERNEL/residue.h> 00022 #endif 00023 00024 #ifndef BALL_KERNEL_CHAIN_H 00025 # include <BALL/KERNEL/chain.h> 00026 #endif 00027 00028 #ifndef BALL_STRUCTURE_ATOMBIJECTION_H 00029 # include <BALL/STRUCTURE/atomBijection.h> 00030 #endif 00031 00032 namespace BALL 00033 { 00034 00042 class BALL_EXPORT PeptideCapProcessor 00043 : public UnaryProcessor<Chain> 00044 { 00045 public: 00046 00049 00050 PeptideCapProcessor(); 00052 00055 00056 virtual Processor::Result operator() (Chain& chain); 00058 00059 protected: 00060 00061 //function to compute the distance of the cap atoms and the last residue 00062 float computeDistance(std::vector<Atom*>& a, std::vector<Atom*>& b); 00063 00064 //function to optimize cap position by rotation 00065 void optimizeCapPosition(Chain& chain, bool start); 00066 }; 00067 00068 } //namespace BALL 00069 00070 #endif // BALL_STRUCTURE_PEPTIDECAPPROCESSOR_H