This package provides public C++ headers. Some might be implement these useful.

`bvharsim.h`

: Rcpp random generation functions that are widely used in Bayesian statistics.`ols.h`

: OLS classes`minnesota.h`

: Minnesota prior classes`mcmcsv.h`

: Classes for stochastic volatility models. It includes- Minnesota prior
- SSVS prior
- Horseshoe prior

`mcmchs.h`

: Horseshoe prior classes`mcmcssvs.h`

: SSVS prior classes`bvharprogress.h`

: Simple progress bar classes`bvharinterrupt.h`

: Interruption handler classes

You can use these by writing in your R package DESCRIPTION:

```
LinkingTo:
BH,
Rcpp,
RcppEigen,
bvhar
```

Also, you can use in your single `C++`

source:

`// [[Rcpp::depends(BH, RcppEigen, bvhar)]]`

`mcmc*.h`

has classes that can conduct MCMC. Since it is
designed thread-safe, you can OpenMP for parallel multiple chain
loop.

- Initialize using smart pointer (in this package:
`std::unique_ptr`

)- Since each class requires other structure as its parameter, you first initialize it.
- Each struct is inside the same header.

`doPosteriorDraws()`

updates MCMC draws, so use this inside loop.`returnRecords(burn, thin)`

returns`Rcpp::List`

of every MCMC record.

In case of SV model, you can define your own prior by defining a derived class.