function [SumStrength_V,grd]=LineShape(LineStrength_T,HWHM_Doppler,HWHM_Lorentz,Wavenumber_shift,RangeLow,RangeHigh)
N=length(Wavenumber_shift);
ExtendEdge=1;
%[cm-1], set the extended range out of the max and min value of wavenumber..
rangeL= -ExtendEdge+ RangeLow;
% spectrum region: RangeLow - ExtendEdge
rangeH = ExtendEdge + RangeHigh;
% spectrum region: RangeHigh + ExtendEdge
step=0.015;
% [cm-1],step length...
grd=[rangeL:step:rangeH];
%% define the grid of X axis

%Set the orginal intensity of each lines to zero..
SumStrength_G=0;
SumStrength_L=0;
SumStrength_V=0;

% Voigt profile half width
HWHM_Voigt=0.5346*HWHM_Lorentz+sqrt(0.2166*HWHM_Lorentz.^2+HWHM_Doppler.^2);

for j=1:N
 x=grd-Wavenumber_shift(j);
%--------------Gussian Profile---------------------------------------------
% % Gussian=sqrt(log(2)/pi)*exp(-log(2)*((x/HWHM_Doppler(j)).^2))/HWHM_Doppler(j);
% % % Gussian line shape expression
% %
% % Strength_G=LineStrength_T(j)*Gussian;
% % % Combine line shape function with line strength..
% %
% % SumStrength_G=SumStrength_G+Strength_G;
% % % Sum up line function for each line...
% % clear Strength_G; clear Gussian;
% % % clear parameters before run into next loop...
%--------------Gussian Profile---------------------------------------------
%--------------Lorentz Profile---------------------------------------------
% % Lorentz=(HWHM_Lorentz(j)./(x.^2+HWHM_Lorentz(j).^2))/pi;
% % % Lorentz line function expression....
% % Strength_L=LineStrength_T(j)*Lorentz;
% % % Combine line shape function with line strength...
% % SumStrength_L=SumStrength_L+Strength_L;
% % % Sum up line function for each line...
% % clear Strength_L; clear Lorentz;
% % % clear parameters before run into next loop...
%--------------Lorentz Profile---------------------------------------------
%----------------Voigt Profile---------------------------------------------

 z=HWHM_Lorentz(j)/HWHM_Voigt(j);
 y=abs(x)/HWHM_Voigt(j);
 Sgmv0(j)=LineStrength_T(j)/(2*HWHM_Voigt(j)*(1.065+0.447*z+0.058*z^2));
 Sgmv=Sgmv0(j)*((1-z)*exp(-0.693.*y.^2)+(z./(1+y.^2))+0.016*(1-z)*z*(exp(-0.0841.*y.^2.25)-1./(1+0.021.*y.^2.25)));
 SumStrength_V=SumStrength_V+Sgmv;
end
%----------------Voigt Profile---------------------------------------------