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_FORCEOUTPUT,
00019 SCRIPT_MEASURE,
00020 SCRIPT_REINITVELS,
00021 SCRIPT_RESCALEVELS,
00022 SCRIPT_RELOADCHARGES,
00023 SCRIPT_CHECKPOINT,
00024 SCRIPT_REVERT,
00025 SCRIPT_MINIMIZE,
00026 SCRIPT_DUMMY
00027 };
00028
00029
00030 enum {
00031 velocityRescaleFactorTag,
00032 positionRescaleFactorTag,
00033 tcoupleCoefficientTag,
00034 minimizeCoefficientTag,
00035 momentumCorrectionTag,
00036 #if USE_BARRIER
00037 cycleBarrierTag,
00038 #endif
00039 scriptBarrierTag,
00040 traceBarrierTag,
00041 accelMDRescaleFactorTag,
00042 adaptTemperatureTag,
00043 #ifdef MEASURE_NAMD_WITH_PAPI
00044 papiMeasureTag,
00045 #endif
00046 dummyTag
00047 };
00048
00049
00050 struct ControllerBroadcasts
00051 {
00052 SimpleBroadcastObject<BigReal> velocityRescaleFactor;
00053 SimpleBroadcastObject<Tensor> positionRescaleFactor;
00054 SimpleBroadcastObject<BigReal> tcoupleCoefficient;
00055 SimpleBroadcastObject<BigReal> minimizeCoefficient;
00056 SimpleBroadcastObject<Vector> momentumCorrection;
00057 #if USE_BARRIER
00058 SimpleBroadcastObject<int> cycleBarrier;
00059 #endif
00060 SimpleBroadcastObject<int> scriptBarrier;
00061 SimpleBroadcastObject<int> traceBarrier;
00062 SimpleBroadcastObject<Vector> accelMDRescaleFactor;
00063 SimpleBroadcastObject<BigReal> adaptTemperature;
00064 #ifdef MEASURE_NAMD_WITH_PAPI
00065 SimpleBroadcastObject<int> papiMeasureBarrier;
00066 #endif
00067
00068 ControllerBroadcasts() :
00069 velocityRescaleFactor(velocityRescaleFactorTag),
00070 positionRescaleFactor(positionRescaleFactorTag),
00071 tcoupleCoefficient(tcoupleCoefficientTag),
00072 minimizeCoefficient(minimizeCoefficientTag),
00073 momentumCorrection(momentumCorrectionTag),
00074 #if USE_BARRIER
00075 cycleBarrier(cycleBarrierTag),
00076 #endif
00077 accelMDRescaleFactor(accelMDRescaleFactorTag),
00078 adaptTemperature(adaptTemperatureTag),
00079 scriptBarrier(scriptBarrierTag),
00080 #ifdef MEASURE_NAMD_WITH_PAPI
00081 papiMeasureBarrier(papiMeasureTag),
00082 #endif
00083 traceBarrier(traceBarrierTag)
00084 { ; }
00085 };
00086
00087 #endif // BROADCASTS_H
00088