Hi Everyone,

I’m bugging the mailing list to gather opinions from anyone interested the PR I’m working.

The purpose of the PR is to refactor the `ParticleDataset` class in yt. Currently the `ParticleDataset` is not much different from `Dataset`, but there sure are common attributes and methods specific to particle datasets that should be put in the `ParticleDataset` class. To make particle dataset better supported in yt, I plan to do the following things:

- Move particle specific operations from `Dataset` to `ParticleDataset`.
- Add some particle dataset specific properties.
- Gather common operations from `ParticleDataset`’s direct inheritance to `ParticleDataset` itself. Currently there are common parts in `TipsyDataset` and `GadgetDataset`’s constructor that I have figured out. There might be more.
- As Nathan suggested, it might be good to have an `SPHParticleDataset` for SPH codes but `ParticleDataset` for pure N-body codes.

If you’re interested in any of these, or have any idea to add, please feel free to leave your comments here or in the PR.

Thanks,
Bili