00001 00024 #ifndef RAWBEAMMONBLOCK_H 00025 #define RAWBEAMMONBLOCK_H 00026 00027 #include <RawData/RawDataBlock.h> 00028 00029 #include <map> 00030 #include <string> 00031 #include <vector> 00032 00033 class RawBeamData; 00034 00035 class RawBeamMonBlock : public RawDataBlock { 00036 00037 public: 00038 00039 RawBeamMonBlock(); 00040 RawBeamMonBlock(const Int_t *block); 00041 RawBeamMonBlock(const RawBeamMonBlock &rhs); // deep copy ctor 00042 virtual ~RawBeamMonBlock(); 00043 00044 // deep copy assignment 00045 RawBeamMonBlock& operator=(const RawBeamMonBlock& rhs); 00046 00047 virtual std::ostream& FormatToOStream(std::ostream& os, 00048 Option_t *option="") const; 00049 00050 // need these? 00051 //static void SetDebugFlags(const UInt_t dbgflgs) 00052 // {fgDebugFlags=dbgflgs;} 00053 //static UInt_t GetDebugFlags() { return fgDebugFlags; } 00054 00066 void SetFiltered(bool filtered = true); 00067 00069 std::vector<std::string> GetNames() const; 00070 00074 const RawBeamData* operator[](std::string device_name) const; 00075 00078 int TclkTriggerEvent() const; 00079 00082 int TclkTriggerDelay() const; 00083 00084 00085 private: 00086 00087 // Unpack the data from the flat bock array - conditionally called 00088 // internally in the accessors. 00089 void Unpacker() const; 00090 00091 mutable std::map<std::string,RawBeamData*> fDevices; 00092 mutable double fEarliest; 00093 00094 // a global debugging flag 00095 //static UInt_t fgDebugFlags; 00096 00097 ClassDef(RawBeamMonBlock,1) 00098 }; 00099 00100 #endif // RAWBEAMMONBLOCK_H
1.3.9.1