Commit f0f5ff4f authored by Zolnierczuk, Piotr's avatar Zolnierczuk, Piotr
Browse files

allow scaling in binning reporting

parent 646b8b47
Loading
Loading
Loading
Loading
+20 −13
Original line number Diff line number Diff line
@@ -338,39 +338,46 @@ contains


  !> Format float bin structure
  function cformat_flt_bin_struct(this) result(cresult)
  function cformat_flt_bin_struct(this, scal) result(cresult)
    type(float_bin_struct), intent(in)   :: this
    real(kind=DBL), intent(in),optional  :: scal
    character(len=MAX_LINE_LENGTH) :: cresult
    !
    character(len=MAX_NAME_LENGTH) :: ctmp
    character(len=MAX_DESCRIPTION_LENGTH) :: ctmp
    integer :: i, nbins
    real(kind=DBL) :: factor
    nbins = this%nbins
    factor=1
    write(cresult,'(i2,a,2x)') nbins, ' => [ '
    if (present(scal)) factor=scal
    do i=1, nbins
       write(ctmp,'(g10.3,",")') this%edges(i)
       cresult=trim(cresult)//ctmp
       write(ctmp,'(g10.3)') this%edges(i)*factor
       cresult=trim(cresult)//trim(ctmp)//", "
    enddo
    write(ctmp,'(g10.3,"]")') this%edges(nbins+1)
    cresult=trim(cresult)//ctmp
    write(ctmp,'(g10.3)') this%edges(nbins+1)*factor
    cresult=trim(cresult)//trim(ctmp)//"]"
  end function cformat_flt_bin_struct


  !> Format float bin structure (double precision)
  function cformat_dbl_bin_struct(this) result(cresult)
  function cformat_dbl_bin_struct(this, scal) result(cresult)
    type(double_bin_struct), intent(in)   :: this
    real(kind=DBL), intent(in),optional   :: scal
    character(len=MAX_DESCRIPTION_LENGTH) :: cresult
    !
    character(len=MAX_DESCRIPTION_LENGTH) :: ctmp
    integer :: i, nbins
    real(kind=DBL) :: factor
    nbins = this%nbins
    factor=1
    write(cresult,'(i2,a,2x)') nbins, ' => [ '

    if (present(scal)) factor=scal
    do i=1, nbins
       write(ctmp,'(g10.3,",")') this%edges(i)
       cresult=trim(cresult)//ctmp
       write(ctmp,'(g10.3)') this%edges(i)*factor
       cresult=trim(cresult)//trim(ctmp)//", "
    enddo
    write(ctmp,'(g10.3,"]")') this%edges(nbins+1)
    cresult=trim(cresult)//ctmp
    write(ctmp,'(g10.3)') this%edges(nbins+1)*factor
    cresult=trim(cresult)//trim(ctmp)//"]"
  end function cformat_dbl_bin_struct