  Quasi-monochromatic, high energy and highly polarized $\gamma$-ray beam
sources based on Compton scattering of laser photons (LCS) on relativistic
electrons have developed for the last few decades as established instruments
for nuclear physics studies. Following an extensive photoneutron experimental
campaign at the LCS $\gamma$-ray beam line of the NewSUBARU synchrotron
radiation facility at SPring8, Japan, a dedicated simulation code was developed
for characterizing the incident $\gamma$-ray beams. The eliLaBr code is
implemented using Geant4 and is available on the GitHub repository, at
https://github.com/dan-mihai-filipescu/eliLaBr . The present work describes
step-by-step the Monte Carlo algorithm with focus on modeling the polarization
properties of the scattered photon. The polarization is treated independently
both in the Stokes parameters and in the polarization vector formalisms. An
intervalidation between the two methods is given. Based on polarization state
description requirements of different Geant4 physics classes, user
recommendations are given on which of the two methods to be employed.
  The spatial and energy distributions for the LCS $\gamma$-ray beam and its
Stokes parameters are obtained for head-on laser - relativistic electron
collisions, where several incident laser polarization states were considered:
linear, unpolarized, circular and mixed linear and circular polarization.
  The influence of variable incident angle between photon and electron beam was
also investigated. We show that the degree of polarization transfer from the
incident photon to the scattered photon increases with the collision angle.
However, we show that, for $\gamma$-ray sources based on Compton scattering of
laser photons on relativistic electrons, the polarization degree of the
incident photon is almost completely transferred to the scattered photon for
any incident angle.
