Censored pymc for power-law distribution of column density

There is a functionality in pymc that allows you to censor univariate distributions automatically

https://www.pymc.io/projects/docs/en/latest/api/distributions/censored.html

and a nice page documenting examples

It will likely amount to what you are doing but without the added worry of “Am I using the lcdfs and lccdfs correctly”. Also if you have a model, you can always use that model (say with numpy.random or pymc itself) to generate simulated data and check that you predictions are correct.