00001 00002 // 00003 // BeamMonMap 00004 // 00005 // accesses beam monitoring... a bit of a temporary solution (hopefully!) 00006 // 00007 // Created: P. Vahle -- March, 2005 00008 // 00009 // $Author: kordosky $ 00010 // 00011 // $Revision: 1.1 $ 00012 // 00013 // $Name: $ 00014 // 00015 // $Id: BeamMonMap.h,v 1.1 2005/06/07 14:54:56 kordosky Exp $ 00016 // 00018 00019 #ifndef BEAMMONMAP_H 00020 #define BEAMMONMAP_H 00021 00022 #include <map> 00023 #include "Validity/VldTimeStamp.h" 00024 00025 class BeamMonTV 00026 { 00027 public: 00028 BeamMonTV(); 00029 ~BeamMonTV(); 00030 00031 double bI; 00032 double hbw; 00033 double vbw; 00034 double hpos1; 00035 double vpos1; 00036 double hpos2; 00037 double vpos2; 00038 double htan; 00039 double vtan; 00040 double hornI; 00041 double nuTarZ; 00042 double timens; 00043 double closestspill; 00044 int time; 00045 00046 }; 00047 00048 namespace BeamMonMap 00049 { 00050 std::map<VldTimeStamp, BeamMonTV> MakeBeamMonMap(const char *path); 00051 BeamMonTV FindClosestSpill(const std::map<VldTimeStamp, BeamMonTV>& m, VldTimeStamp vts); 00052 bool IsGoodSpill(BeamMonTV b); 00053 00054 struct bmon1{ 00055 double beamIntensity; 00056 double hBeamWidth; 00057 double vBeamWidth; 00058 double hPosatTargetPM; 00059 double vPosatTargetPM; 00060 double hPosatTargetBPM; 00061 double vPosatTargetBPM; 00062 double tanHoriz; 00063 double tanVert; 00064 double hornPeakCurrent; 00065 double nuTarZ; 00066 double timeStampD; 00067 int timeStampSec; 00068 }; 00069 00070 struct bmon2{ 00071 double beamIntensity; 00072 double hBeamWidth; 00073 double vBeamWidth; 00074 double hPosatTargetPM; 00075 double vPosatTargetPM; 00076 double hPosatTargetBPM; 00077 double vPosatTargetBPM; 00078 double tanHoriz; 00079 double tanVert; 00080 double hornPeakCurrent; 00081 double nuTarZ; 00082 double hadTotalPH; 00083 double hadMeanX; 00084 double hadMeanY; 00085 double mu1TotalPH; 00086 double mu1MeanX; 00087 double mu1MeanY; 00088 double mu2TotalPH; 00089 double mu2MeanX; 00090 double mu2MeanY; 00091 double mu3TotalPH; 00092 double mu3MeanX; 00093 double mu3MeanY; 00094 double timeStampD; 00095 long timeStampSec; 00096 }; 00097 00098 BeamMonTV FillBeamMonTV(struct bmon1 bmn); 00099 BeamMonTV FillBeamMonTV(struct bmon2 bmn); 00100 } 00101 00102 #endif //BEAMMONMAP_H
1.3.9.1