class_docstr: Implementation of the 3-arm T-Maze environment 
class_docstr_tok: ["Implementation","of","the","3-arm","T-Maze","environment"]
code: def step(self, actions):
      prob_states = utils.obj_array(self.num_factors)
      for factor, state in enumerate(self._state):
          prob_states[factor] = self._transition_dist[factor][
              :, :, int(actions[factor])
          ].dot(state)
      state = [utils.sample(ps_i) for ps_i in prob_states]
      self._state = self._construct_state(state)
      return self._get_observation()
  
imports: from pymdp.envs import Env
  from pymdp import utils, maths
  import numpy
label_desc: Use image node_id 3 for calling the TMazeEnv obj's underlying member method code with example usage: obj.step(actions) and returns: self