Inverse Fourier transform

I am dealing with an inverse Fourier transform of a sampled complex function, $H(\omega)$. I want to obtain a real transformed function $h(t)$, which means that $H(-\omega)=H^{\ast}(\omega)$ has to be fulfilled. In order to have $h(t)$ sampled both for positive and negative times I use following procedure:

h_c = RotateRight[InverseFourier[RotateLeft[Join[Conjugate[Reverse[H]],H], n/2 \[Minus]1],
FourierParameters -> {0, 1}], n/2 \[Minus] 1]

What bothers me is that $h_c$ is generally complex. Then I simply take only its real part, e.g.

h = Re[h_c]

However, I wonder if this approach is right.

The approach using Re[] is at least questionable and even more important, not necessary. First notice how Mathematica performs the Fourier transformation. It stores $\omega=0$ in the first element of the list. The highest frequencies are in the middle. Doing something like the following results in a real valued transformation
This list unfortunately has an odd number of elements, though. Naturally you must assure that the $\omega=0$ value is real. If you want an even number of list elements you must also assure that the high frequency value $\omega_\mathrm{max}$ is real valued.
So a list of type $a_0,a_1,\ldots,a_{n-1},a_n, a_{n-1}^* ,\ldots ,a_1^*$ with $a_0 \in \mathbb{R}$ and $a_n \in \mathbb{R}$