https://github.com/N-BodyShop/changa
Revision f9aa0561beec30804f8b61d4e72bba24ad9d5fa1 authored by Tom Quinn on 14 August 2017, 22:41:05 UTC, committed by Tom Quinn on 30 August 2017, 22:34:50 UTC
Change-Id: Icb82cbd8a7e18f918a512d4385ed6412415d5500
1 parent 2c05d51
Raw File
Tip revision: f9aa0561beec30804f8b61d4e72bba24ad9d5fa1 authored by Tom Quinn on 14 August 2017, 22:41:05 UTC
Update to v3.3
Tip revision: f9aa056
TreeNode.h
/** @file TreeNode.h
 This header defines the structures used to make up trees.
 @author Graeme Lufkin (gwl@u.washington.edu)
 @date 01 Aug 2005 - Deleted the class SFCTreeNode in favor of GenericTreeNode, Filippo
 */

#ifndef TREENODE_H
#define TREENODE_H

#include <sstream>

#include "SFC.h"

namespace TreeStuff {

using namespace SFC;

/// @brief Convert a Key into a printable string.
inline std::string keyBits(const Key k, const int numBits) {
  std::ostringstream oss;
  //oss << "N";
  bool ready = false;
  for(int i = 0; i < numBits; i++) {
    Key k2 = k & (static_cast<Key>(1) << (62 - i));
    if (ready) oss << (k2 ? 1 : 0);
    else if (k2 != 0) ready = true;
  }
  return oss.str();
}

/// This converts a "radius to the furthest particle" to the standard
/// Barnes-Hut cell size.  We use it to keep the definition of theta
/// consistent.

const double opening_geometry_factor = 2 / sqrt(3.0);

/// The maximum number of particles in a bucket.
extern int maxBucketSize;
	

} //close namespace TreeStuff

#endif //TREENODE_H
back to top