| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

A full ef classlist @htmlinclude used_packages.html @verbinclude requirements Context.h

Go to the documentation of this file.
00001 
00022 #ifndef CONTEXT_H
00023 #define CONTEXT_H
00024 
00025 #include "TimeStamp.h"
00026 #include "Conventions/SimFlag.h"
00027 #include "Conventions/Site.h"
00028 #include "Conventions/DetectorId.h"
00029 #include "Conventions/Niche.h"
00030 
00031 #include <iosfwd>
00032 #include <string>
00033 
00034 class Context {
00035 public:
00036     Context(); // Neccessary for streamer I/O
00037 
00038     Context(const Context& other);
00039 
00040     Context(Site::Site_t site,
00041             SimFlag::SimFlag_t flag,
00042             const TimeStamp& time = TimeStamp(),
00043             DetectorId::DetectorId_t det = DetectorId::kUnknown);
00044   
00045     Context& operator= (const Context& rhs);
00046   
00047     virtual ~Context() {};
00048 
00050     const TimeStamp& GetTimeStamp() const { return mTimeStamp; }
00051 
00053     SimFlag::SimFlag_t GetSimFlag() const { return mSimFlag; }
00054 
00056     Site::Site_t GetSite() const { return mSite; }
00057 
00059     DetectorId::DetectorId_t GetDetId() const { return mDetId; }
00060 
00061 
00063     void SetTimeStamp(const TimeStamp& ts) { mTimeStamp = ts; }
00064 
00066     void SetSimFlag(SimFlag::SimFlag_t flag) { mSimFlag = flag; }
00067 
00069     void SetSite(Site::Site_t site) { mSite = site; }
00070 
00071     // Set the detector type
00072     void SetDetId(DetectorId::DetectorId_t det) { mDetId = det; }
00073 
00074   
00075     virtual std::string AsString(const char* option = "") const;
00076     virtual bool      IsValid() const;
00077   
00078 protected:  
00079                                                 
00080     Site::Site_t                 mSite;
00081     SimFlag::SimFlag_t           mSimFlag;
00082     TimeStamp                    mTimeStamp;
00083     DetectorId::DetectorId_t     mDetId;
00084 
00085 private:
00086 
00087 };
00088 
00089 std::ostream& operator<<(std::ostream& os, const Context& c);
00090 
00091 bool operator==(const Context& lhs, const Context& rhs);
00092 bool operator!=(const Context& lhs, const Context& rhs);
00093 bool operator< (const Context& lhs, const Context& rhs);
00094 bool operator> (const Context& lhs, const Context& rhs);
00095 bool operator<=(const Context& lhs, const Context& rhs);
00096 bool operator>=(const Context& lhs, const Context& rhs);
00097 
00098 
00099 #endif // CONTEXT_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:15:31 2011 for Context by doxygen 1.4.7