NAMD
Public Member Functions | Public Attributes | List of all members
isWater< doFixed > Class Template Reference

#include <MShakeKernel.h>

Public Member Functions

 isWater (const float *rigidBondLength, const int *hydrogenGroupSize, const int *atomFixed)
 
__forceinline__ __device__ bool operator() (const int x)
 

Public Attributes

const float * rigidBondLength
 
const int * hydrogenGroupSize
 
const int * atomFixed
 

Detailed Description

template<bool doFixed>
class isWater< doFixed >

Definition at line 68 of file MShakeKernel.h.

Constructor & Destructor Documentation

◆ isWater()

template<bool doFixed>
isWater< doFixed >::isWater ( const float *  rigidBondLength,
const int *  hydrogenGroupSize,
const int *  atomFixed 
)
inline

Definition at line 74 of file MShakeKernel.h.

References isWater< doFixed >::atomFixed, isWater< doFixed >::hydrogenGroupSize, and isWater< doFixed >::rigidBondLength.

75  {
78  this->atomFixed = atomFixed;
79  }
const int * atomFixed
Definition: MShakeKernel.h:72
const int * hydrogenGroupSize
Definition: MShakeKernel.h:71
const float * rigidBondLength
Definition: MShakeKernel.h:70

Member Function Documentation

◆ operator()()

template<bool doFixed>
__forceinline__ __device__ bool isWater< doFixed >::operator() ( const int  x)
inline

Definition at line 81 of file MShakeKernel.h.

References isWater< doFixed >::atomFixed, isWater< doFixed >::hydrogenGroupSize, and isWater< doFixed >::rigidBondLength.

81  {
82  if (rigidBondLength[x] > 0){
83  if (doFixed) {
84  int hgs = hydrogenGroupSize[x];
85  for(int i = 0; i <hgs; i++){
86  if(atomFixed[x+i]) return false;
87  }
88  }
89  return true;
90  }
91  else return false;
92  }
const int * atomFixed
Definition: MShakeKernel.h:72
const int * hydrogenGroupSize
Definition: MShakeKernel.h:71
const float * rigidBondLength
Definition: MShakeKernel.h:70

Member Data Documentation

◆ atomFixed

template<bool doFixed>
const int* isWater< doFixed >::atomFixed

Definition at line 72 of file MShakeKernel.h.

Referenced by isWater< doFixed >::isWater(), and isWater< doFixed >::operator()().

◆ hydrogenGroupSize

template<bool doFixed>
const int* isWater< doFixed >::hydrogenGroupSize

Definition at line 71 of file MShakeKernel.h.

Referenced by isWater< doFixed >::isWater(), and isWater< doFixed >::operator()().

◆ rigidBondLength

template<bool doFixed>
const float* isWater< doFixed >::rigidBondLength

Definition at line 70 of file MShakeKernel.h.

Referenced by isWater< doFixed >::isWater(), and isWater< doFixed >::operator()().


The documentation for this class was generated from the following file: