00001 00005 class ProbDistr_prm : public HandleId 00006 00007 { 00008 protected: 00009 00010 StringList subclasses; 00011 static Handle(ProbDistr_prm) master; 00012 virtual ProbDistr_prm* clone () { return new ProbDistr_prm(); } 00013 ProbDistr_prm (); 00014 00015 public: 00016 00017 static ProbDistr_prm* construct (); 00018 virtual ~ProbDistr_prm () {} 00019 00020 ProbDistr_prm (const ProbDistr_prm& pm); 00021 00022 String init_str; 00023 String distribution; 00024 VecSimple(real) parameters; 00025 00026 real operator () (int i) const; 00027 void operator = (const ProbDistr_prm& pm); 00028 void scan (Is is); 00029 String print () const; 00030 void print (Os os) const; 00031 friend Is& operator >> (Is& is, ProbDistr_prm& pm); 00032 friend Os& operator << (Os& os, const ProbDistr_prm& pm); 00033 00034 virtual ProbDistr* create () const; 00035 const StringList& hier () const { return subclasses; } 00036 static const StringList& hierStatic () { return master->hier(); } 00037 static void registerPrmSubclass (ProbDistr_prm& sc) 00038 { master.rebind (sc); } 00039 static void unregisterPrmSubclass () 00040 { master.rebind (new ProbDistr_prm()); } 00041 }; 00042 00043