23#include "observables/Observable.hpp"
24#include "system/System.hpp"
46 double contact_threshold,
47 std::shared_ptr<Observables::Observable> obs)
49 m_contact_threshold(contact_threshold) {
50 if (contact_threshold < 0.) {
51 throw std::domain_error(
"Attribute 'contact_threshold' must be >= 0");
55 void update(boost::mpi::communicator
const &comm)
override;
60 std::vector<std::size_t>
shape()
const override {
return {m_data.size()}; }
61 void clear() { m_data.clear(); }
65 std::shared_ptr<Observables::Observable> m_obs;
66 std::vector<double> m_data;
67 double m_contact_threshold;
68 std::vector<bool> contacts;
69 std::vector<double> first_contact_times;