00001
00007 #ifndef BROADCASTS_H
00008 #define BROADCASTS_H
00009
00010 #include "NamdTypes.h"
00011 #include "Lattice.h"
00012 #include "BroadcastObject.h"
00013
00014 enum {
00015 SCRIPT_END,
00016 SCRIPT_RUN,
00017 SCRIPT_OUTPUT,
00018 SCRIPT_MEASURE,
00019 SCRIPT_REINITVELS,
00020 SCRIPT_RESCALEVELS,
00021 SCRIPT_RELOADCHARGES,
00022 SCRIPT_CHECKPOINT,
00023 SCRIPT_REVERT,
00024 SCRIPT_MINIMIZE,
00025 SCRIPT_DUMMY
00026 };
00027
00028
00029 enum {
00030 velocityRescaleFactorTag,
00031 positionRescaleFactorTag,
00032 tcoupleCoefficientTag,
00033 minimizeCoefficientTag,
00034 momentumCorrectionTag,
00035 #if USE_BARRIER
00036 cycleBarrierTag,
00037 #endif
00038 scriptBarrierTag,
00039 dummyTag
00040 };
00041
00042
00043 struct ControllerBroadcasts
00044 {
00045 SimpleBroadcastObject<BigReal> velocityRescaleFactor;
00046 SimpleBroadcastObject<Tensor> positionRescaleFactor;
00047 SimpleBroadcastObject<BigReal> tcoupleCoefficient;
00048 SimpleBroadcastObject<BigReal> minimizeCoefficient;
00049 SimpleBroadcastObject<Vector> momentumCorrection;
00050 #if USE_BARRIER
00051 SimpleBroadcastObject<int> cycleBarrier;
00052 #endif
00053 SimpleBroadcastObject<int> scriptBarrier;
00054
00055 ControllerBroadcasts() :
00056 velocityRescaleFactor(velocityRescaleFactorTag),
00057 positionRescaleFactor(positionRescaleFactorTag),
00058 tcoupleCoefficient(tcoupleCoefficientTag),
00059 minimizeCoefficient(minimizeCoefficientTag),
00060 momentumCorrection(momentumCorrectionTag),
00061 #if USE_BARRIER
00062 cycleBarrier(cycleBarrierTag),
00063 #endif
00064 scriptBarrier(scriptBarrierTag)
00065 { ; }
00066 };
00067
00068 #endif // BROADCASTS_H
00069