Class: MHL::GenericParticle

Inherits:
Object
  • Object
show all
Defined in:
lib/mhl/generic_particle.rb

Direct Known Subclasses

Particle, QuantumParticle

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(initial_position) ⇒ GenericParticle

Returns a new instance of GenericParticle.



7
8
9
10
# File 'lib/mhl/generic_particle.rb', line 7

def initialize(initial_position)
  @position  = initial_position
  @attractor = nil
end

Instance Attribute Details

#attractorObject (readonly)

Returns the value of attribute attractor.



5
6
7
# File 'lib/mhl/generic_particle.rb', line 5

def attractor
  @attractor
end

Instance Method Details

#evaluate(func) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/mhl/generic_particle.rb', line 12

def evaluate(func)
  # calculate particle height
  @height = func.call(@position)

  # update particle attractor (if needed)
  if @attractor.nil? or @height > @attractor[:height]
    @attractor = { height: @height, position: @position }
  end
end