Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __RD_CHIRAL_SET_H__
00011 #define __RD_CHIRAL_SET_H__
00012
00013 #include <RDGeneral/Invariant.h>
00014 #include <boost/smart_ptr.hpp>
00015 #include <vector>
00016
00017 namespace DistGeom {
00018
00019
00020
00021
00022 class ChiralSet {
00023 public:
00024
00025 unsigned int d_idx1;
00026 unsigned int d_idx2;
00027 unsigned int d_idx3;
00028 unsigned int d_idx4;
00029 double d_volumeLowerBound;
00030 double d_volumeUpperBound;
00031
00032 ChiralSet(unsigned int pid1, unsigned int pid2,
00033 unsigned int pid3, unsigned int pid4,
00034 double lowerVolBound, double upperVolBound) :
00035 d_idx1(pid1), d_idx2(pid2), d_idx3(pid3), d_idx4(pid4),
00036 d_volumeLowerBound(lowerVolBound),d_volumeUpperBound(upperVolBound) {
00037 CHECK_INVARIANT(lowerVolBound <= upperVolBound, "Inconsistent bounds\n");
00038 d_volumeLowerBound = lowerVolBound;
00039 d_volumeUpperBound = upperVolBound;
00040 }
00041
00042 inline double getUpperVolumeBound() const {
00043 return d_volumeUpperBound;
00044 }
00045
00046 inline double getLowerVolumeBound() const {
00047 return d_volumeLowerBound;
00048 }
00049 };
00050
00051 typedef boost::shared_ptr<ChiralSet> ChiralSetPtr;
00052 typedef std::vector<ChiralSetPtr> VECT_CHIRALSET;
00053
00054 }
00055
00056 #endif