00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef IMPDOMINO_TRANSFORMATION_CARTESIAN_PRODUCT_SAMPLER_H
00015 #define IMPDOMINO_TRANSFORMATION_CARTESIAN_PRODUCT_SAMPLER_H
00016 #include "IMP/Particle.h"
00017 #include <map>
00018 #include <sstream>
00019 #include "IMP/base_types.h"
00020 #include "IMP/domino/TransformationMappedDiscreteSet.h"
00021 #include "IMP/domino/CartesianProductSampler.h"
00022 #include <algorithm>
00023 #include "TransformationUtils.h"
00024 IMPDOMINO_BEGIN_NAMESPACE
00025
00026 class IMPDOMINOEXPORT TransformationCartesianProductSampler :
00027 public CartesianProductSampler
00028 {
00029 public:
00030 TransformationCartesianProductSampler(){}
00031
00032
00033
00034
00035
00036
00037
00038
00039 TransformationCartesianProductSampler(TransformationMappedDiscreteSet *ds,
00040 const Particles &ps,
00041 bool trans_from_orig = false);
00042 void move2state(const CombState *cs) ;
00043 void show(std::ostream& out=std::cout) const;
00044 protected:
00045 TransformationUtils tu_;
00046 };
00047
00048 IMPDOMINO_END_NAMESPACE
00049
00050 #endif