class_docstr: An `Op` constructed from an PyTensor graph
  that represents a truncated univariate random variable.
class_docstr_tok: ["An","`","Op","`","constructed","from","an","PyTensor","graph","that","represents","a","truncated","univariate","random","variable","."]
code: def __init__(self, *args, base_rv_op: Op, max_n_steps: int, **kwargs):
      self.base_rv_op = base_rv_op
      self.max_n_steps = max_n_steps
      super().__init__(*args, **kwargs)
  
imports: from functools import singledispatch
  import numpy
  import pytensor
  import pytensor.tensor
  from pytensor import scan
  from pytensor.graph import Op
  from pytensor.graph.basic import Node
  from pytensor.raise_op import CheckAndRaise
  from pytensor.scan import until
  from pytensor.tensor import TensorConstant, TensorVariable
  from pytensor.tensor.random.basic import NormalRV
  from pytensor.tensor.random.op import RandomVariable
  from pymc.distributions.continuous import TruncatedNormal, bounded_cont_transform
  from pymc.distributions.dist_math import check_parameters
  from pymc.distributions.distribution import Distribution, SymbolicRandomVariable, _moment, moment
  from pymc.distributions.shape_utils import _change_dist_size, change_dist_size, to_tuple
  from pymc.distributions.transforms import _default_transform
  from pymc.exceptions import TruncationError
  from pymc.logprob.abstract import _logcdf, _logprob
  from pymc.logprob.basic import icdf, logcdf
  from pymc.math import logdiffexp
  from pymc.util import check_dist_not_registered
label_desc: Use image node_id 1 to create a new TruncatedRV object from inherited base classes: SymbolicRandomVariable with example: obj = TruncatedRV()