OpdfDiscreteFactory<SimpleExample.Packet> factory =
new OpdfDiscreteFactory<SimpleExample.Packet>(SimpleExample.Packet.class);
Hmm<ObservationDiscrete<SimpleExample.Packet>> hmm =
new Hmm<ObservationDiscrete<SimpleExample.Packet>>(4, factory);
hmm.setPi(0, 0.25);
..............................
hmm.setOpdf(0, new OpdfDiscrete<SimpleExample.Packet>(SimpleExample.Packet.class, new double[] { 6.43E-01, 6.05E-197, 6.58E-101, 5.41E-220, 7.10E-45, 0.027582667, 0.00E+00, 4.25E-184, 3.37E-61, 4.64E-156, 4.55E-212, 1.02E-108, 3.29E-01, 2.41E-91, 6.22E-53 }));
...................................
hmm.setAij(0, 0, 0.16152514);
hmm.setAij(0, 1, 0.034003153);
hmm.setAij(0, 2, 1.69E-107);
hmm.setAij(0, 3, 0.804471706);
..........................................
I guess this is the correct approach.