Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

RawBeamMonBlock.h

Go to the documentation of this file.
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

Generated on Sat Nov 7 01:27:16 2009 for loon by  doxygen 1.3.9.1