File: DensityForce.h

package info (click to toggle)
macromoleculebuilder 4.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 118,996 kB
  • sloc: cpp: 23,722; python: 5,098; ansic: 2,101; awk: 145; perl: 144; makefile: 40; sh: 38
file content (54 lines) | stat: -rw-r--r-- 2,105 bytes parent folder | download | duplicates (4)
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
/* -------------------------------------------------------------------------- *
 *                           MMB (MacroMoleculeBuilder)                       *
 * -------------------------------------------------------------------------- *
 *                                                                            *
 * Copyright (c) 2011-12 by the Author.                                       *
 * Author: Samuel Flores                                                      *
 *                                                                            *
 * See RNABuilder.cpp for the copyright and usage agreement.                  *
 * -------------------------------------------------------------------------- */

#ifndef DensityForce_H_
#define DensityForce_H_

#include <math.h>
//#include "SimTKsimbody_aux.h"
#include <iostream>
#include <ostream>
#include <stdlib.h>// for MAX_PATH
#include "SimTKmolmodel.h"
#include "ParameterReader.h"
#include "BiopolymerClass.h"
#include "DensityMap.h"
using namespace SimTK;
using namespace std; 


/*inline std::ostream& operator<<(std::ostream& o, const ParameterReader&) {
    assert(false);
    return o;
};*/


class DensityForce : public Force::Custom::Implementation { 

protected: 
    SimbodyMatterSubsystem& matter;
   ParameterReader& myParameterReader;   
   DensityMap     & myDensityMap     ;
   DuMMForceFieldSubsystem & dumm;   
    //LeontisWesthofClass& myLeontisWesthofClass;
    BiopolymerClassContainer & myBiopolymerClassContainer;
    //Biopolymer myChain;
    mutable int parameterReaderIndex; 
    std::ostream& outputStream; 
public: 

    DensityForce (SimbodyMatterSubsystem& matter,ParameterReader& myParameterReader, DensityMap & myDensityMap, DuMMForceFieldSubsystem & dumm,  BiopolymerClassContainer & myBiopolymerClassContainer, std::ostream& outputStream ) ; 

    void calcForce(const State& state, Vector_<SpatialVec>& bodyForces,  
            Vector_<Vec3>& particleForces, Vector& mobilityForces) const ; 
    Real calcPotentialEnergy(const State& state) const; 
    bool dependsOnlyOnPositions() const;
};
#endif