<状況>
Python (Cython)を使って、以下のようなコードを書いています (かなり簡略化しています)。

cdef class Branch:
   def __cinit__(self):
      self.param = npr.beta(1.0, gamma)

def make_branch():
   for i in range(length):
      new_branch = Branch()

def main(int length, double gamma):
   make_branch(length)

Cythonでの関数main(length, gamma)には、通常のPythonのファイルから作るべきBranchの数とそのパラメータgammaを渡しており、Branchを作るたびにBeta(1.0, gamma)からparameterを作ります。

<質問>
Branchクラスから、直接的にmain()にあるgammaを参照することはできますでしょうか。以下のように、順々にgammaを渡していけば問題ないことはわかるのですが、実際は構造が複雑で、いちいち変数を渡して行くのが面倒なので、別の方法があればと思い質問させて頂きました。
よろしくお願い致します。

cdef class Branch:
   def __cinit__(self, gamma):
      self.param = npr.beta(1.0, gamma)

def make_branch():
   for i in range(length):
      new_branch = Branch(gamma)

def main(int length, double gamma):
   make_branch(length, gamma)