class_docstr: State space representation of a time series process, with Kalman filter
  and smoother, and with simulation smoother.
  
  Parameters
  ----------
  k_endog : {array_like, int}
      The observed time-series process :math:`y` if array like or the
      number of variables in the process if an integer.
  k_states : int
      The dimension of the unobserved state process.
  k_posdef : int, optional
      The dimension of a guaranteed positive definite covariance matrix
      describing the shocks in the measurement equation. Must be less than
      or equal to `k_states`. Default is `k_states`.
  simulation_smooth_results_class : class, optional
      Default results class to use to save output of simulation smoothing.
      Default is `SimulationSmoothResults`. If specified, class must extend
      from `SimulationSmoothResults`.
  simulation_smoother_classes : dict, optional
      Dictionary with BLAS prefixes as keys and classes as values.
  **kwargs
      Keyword arguments may be used to provide default values for state space
      matrices, for Kalman filtering options, for Kalman smoothing
      options, or for Simulation smoothing options.
      See `Representation`, `KalmanFilter`, and `KalmanSmoother` for more
      details.
docstr: Get simulation output bitmask
  
  Helper method to get final simulation output bitmask from a set of
  optional arguments including the bitmask itself and possibly boolean
  flags.
  
  Parameters
  ----------
  simulation_output : int, optional
      Simulation output bitmask. If this is specified, it is simply
      returned and the other arguments are ignored.
  simulate_state : bool, optional
      Whether or not to include the state in the simulation output.
  simulate_disturbance : bool, optional
      Whether or not to include the state and observation disturbances
      in the simulation output.
  simulate_all : bool, optional
      Whether or not to include all simulation output.
  \*\*kwargs
      Additional keyword arguments. Present so that calls to this method
      can use \*\*kwargs without clearing out additional arguments.
docstr_tok: ["Get","simulation","output","bitmask","Helper","method","to","get","final","simulation","output","bitmask","from","a","set","of","optional","arguments","including","the","bitmask","itself","and","possibly","boolean","flags",".","Parameters","--","--","--","--","--","simulation_output",":","int",",","optional","Simulation","output","bitmask",".","If","this","is","specified",",","it","is","simply","returned","and","the","other","arguments","are","ignored",".","simulate_state",":","bool",",","optional","Whether","or","not","to","include","the","state","in","the","simulation","output",".","simulate_disturbance",":","bool",",","optional","Whether","or","not","to","include","the","state","and","observation","disturbances","in","the","simulation","output",".","simulate_all",":","bool",",","optional","Whether","or","not","to","include","all","simulation","output",".","\\","*","\\","*","kwargs","Additional","keyword","arguments",".","Present","so","that","calls","to","this","method","can","use","\\","*","\\","*","kwargs","without","clearing","out","additional","arguments","."]
code: def get_simulation_output(
      self,
      simulation_output=None,
      simulate_state=None,
      simulate_disturbance=None,
      simulate_all=None,
      **kwargs,
  ):
      r"""
      Get simulation output bitmask
  
      Helper method to get final simulation output bitmask from a set of
      optional arguments including the bitmask itself and possibly boolean
      flags.
  
      Parameters
      ----------
      simulation_output : int, optional
          Simulation output bitmask. If this is specified, it is simply
          returned and the other arguments are ignored.
      simulate_state : bool, optional
          Whether or not to include the state in the simulation output.
      simulate_disturbance : bool, optional
          Whether or not to include the state and observation disturbances
          in the simulation output.
      simulate_all : bool, optional
          Whether or not to include all simulation output.
      \*\*kwargs
          Additional keyword arguments. Present so that calls to this method
          can use \*\*kwargs without clearing out additional arguments.
      """
      # If we do not explicitly have simulation_output, try to get it from
      # kwargs
      if simulation_output is None:
          simulation_output = 0
  
          if simulate_state:
              simulation_output |= SIMULATION_STATE
          if simulate_disturbance:
              simulation_output |= SIMULATION_DISTURBANCE
          if simulate_all:
              simulation_output |= SIMULATION_ALL
  
          # Handle case of no information in kwargs
          if simulation_output == 0:
              # If some arguments were passed, but we still do not have any
              # simulation output, raise an exception
              argument_set = not all(
                  [
                      simulate_state is None,
                      simulate_disturbance is None,
                      simulate_all is None,
                  ]
              )
              if argument_set:
                  raise ValueError(
                      "Invalid simulation output options:"
                      " given options would result in no"
                      " output."
                  )
  
              # Otherwise set simulation output to be the same as smoother
              # output
              simulation_output = self.smoother_output
  
      return simulation_output
  
imports: import numbers
  import warnings
  import numpy
  from .kalman_smoother import KalmanSmoother
  from .cfa_simulation_smoother import CFASimulationSmoother
  from .None import tools
label_desc: Use image node_id 2 for calling the SimulationSmoother obj's underlying member method code with example usage: obj.get_simulation_output(simulation_output, simulate_state, simulate_disturbance, simulate_all) and returns: simulation_output