BALL  1.4.1
peptideCapProcessor.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines