ModelObjectsTemp WeightedExcludedVolumeRestraint::do_get_inputs() const {
    ModelObjectsTemp ret = rb_refiner_->get_inputs(
                               get_model(), IMP::get_indexes(ParticlesTemp(particles_begin(),
                                       particles_end())));
    for (ParticleConstIterator it = particles_begin(); it != particles_end();
            ++it) {
        ParticlesTemp curr = rb_refiner_->get_refined(*it);
        ret += curr;
    }
    return ret;
}
ContainersTemp EnvelopePenetrationRestraint::get_input_containers() const {
  ContainersTemp pt;
  for (ParticleConstIterator it= particles_begin();
       it != particles_end(); ++it) {
  }
  return pt;
}
ModelObjectsTemp DensityFillingRestraint::do_get_inputs() const {
  ModelObjectsTemp pt;
  for (ParticleConstIterator it = particles_begin(); it != particles_end();
       ++it) {
    pt.push_back(*it);
  }
  return pt;
}
ModelObjectsTemp EnvelopePenetrationRestraint::do_get_inputs() const {
  ModelObjectsTemp pt;
  for (ParticleConstIterator it = particles_begin(); it != particles_end();
       ++it) {
    pt.push_back(*it);
  }
  return pt;
}
ModelObjectsTemp RadiusOfGyrationRestraint::do_get_inputs() const
{
  kernel::ParticlesTemp pt;
  for (ParticleConstIterator it= particles_begin();
       it != particles_end(); ++it) {
      pt.push_back(*it);
  }
  return pt;
}
ParticlesTemp RadiusOfGyrationRestraint::get_input_particles() const
{
  ParticlesTemp pt;
  for (ParticleConstIterator it= particles_begin();
       it != particles_end(); ++it) {
      pt.push_back(*it);
  }
  return pt;
}
示例#7
0
ParticleIndexes Simulator::get_simulation_particle_indexes() const {
  IMP_OBJECT_LOG;
  ParticleIndexes ps;
  if (get_number_of_particles() == 0) {
    Model *m = get_model();
    ParticleIndexes pis = m->get_particle_indexes();
    for (ParticleIndexes::const_iterator it = pis.begin();
         it != pis.end(); ++it) {
      if (get_is_simulation_particle(*it)) {
        ps.push_back(*it);
      }
    }
  } else {
    ps = IMP::internal::get_index(
        ParticlesTemp(particles_begin(), particles_end()));
  }
  return ps;
}
示例#8
0
StatusCode HepMCHistograms::execute() {

	auto evt = m_hepmchandle.get();

	info() << "Processing event with " << evt->particles_size() << " particles" << endmsg;

	for (auto it = evt->particles_begin(); it != evt->particles_end(); ++it) {
		auto particle = *it;

		m_eta->Fill(particle->momentum().eta());
		m_pt->Fill(particle->momentum().perp());
	}

	for(auto it = evt->vertices_begin(); it != evt->vertices_end(); ++it) {
		auto vertex = *it;

		m_d0->Fill(vertex->position().perp());
		m_z0->Fill(vertex->position().z());
	}

	return StatusCode::SUCCESS;
}