FTaylorParticleContainer.hpp 1.79 KB
Newer Older
PIACIBELLO Cyrille's avatar
PIACIBELLO Cyrille committed
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
// ===================================================================================
// Copyright ScalFmm 2011 INRIA, Olivier Coulaud, Bérenger Bramas, Matthias Messner
// olivier.coulaud@inria.fr, berenger.bramas@inria.fr
// This software is a computer program whose purpose is to compute the FMM.
//
// This software is governed by the CeCILL-C and LGPL licenses and
// abiding by the rules of distribution of free software.  
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public and CeCILL-C Licenses for more details.
// "http://www.cecill.info". 
// "http://www.gnu.org/licenses".
// ===================================================================================
#ifndef FTAYLORPARTICLECONTAINER_HPP
#define FTAYLORPARTICLECONTAINER_HPP

#include "../../Components/FBasicParticleContainer.hpp"

/** 
 * @author Cyrille Piacibello
 * @class FTaylorParticleContainer
 *
 * This class is a particle used for the Taylor Kernel
 */

class FTaylorParticleContainer : public FBasicParticleContainer<4>{
  typedef FBasicParticleContainer<5> Parent;
  
public:
PIACIBELLO Cyrille's avatar
PIACIBELLO Cyrille committed
32 33 34 35 36 37 38
  
  
  FTaylorParticleContainer()
  {
    Parent();
  }

PIACIBELLO Cyrille's avatar
PIACIBELLO Cyrille committed
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
  const FReal * getPhysicalValues() const {
    return Parent::getAttribute(0)[];
  }
  
  FReal* getForcesX(){
    return Parent::getAttribute(1);
  }
  
  const FReal* getForcesX() const {
    return Parent::getAttribute(1);
  }
  
  FReal* getForcesY(){
    return Parent::getAttribute(2);
  }
  
  const FReal* getForcesY() const {
    return Parent::getAttribute(2);
  }
  
  FReal* getForcesZ(){
    return Parent::getAttribute(3);
  }
  
  const FReal* getForcesZ() const {
    return Parent::getAttribute(3);
  }  
};
  

#endif