Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

TriggerPattern.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GlastEvent/GlastEvent/Utilities/TriggerPattern.h,v 1.2 2001/04/18 19:07:26 igable Exp $
00002 #ifndef LHCBEVENT_TRIGGERPATTERN_H
00003 #define LHCBEVENT_TRIGGERPATTERN_H 1
00004 
00005 
00006 // Include files
00007 #include <iostream>
00008 #include "GaudiKernel/StreamBuffer.h"
00009 #include "GlastEvent/TopLevel/Definitions.h"
00010 
00011 
00012 //------------------------------------------------------------------------------
00013 //
00014 // ClassName:   TriggerPattern
00015 //  
00016 // Description: Placeholder for trigger pattern
00017 //
00018 // Author:      Pavel Binko
00019 // Changes:     P.Binko 19/10/1999 : Formating of ASCII output
00020 //
00021 //------------------------------------------------------------------------------
00022 
00023 
00024 class TriggerPattern                                                           {
00025 
00026 public:
00027 
00029   TriggerPattern()
00030     : m_pattern(0)                                                           { }
00031   TriggerPattern( long pattern )
00032     : m_pattern(pattern)                                                     { }
00034   ~TriggerPattern()                                                          { }
00035 
00037   long pattern() const                                                         {
00038     return m_pattern;
00039   }
00041   void setPattern( long value )                                                {
00042     m_pattern = value;
00043   }
00045   void set( int bit )                                                          {
00046     if ( bit>=0 && bit<32 ) {
00047       m_pattern |= (1<<bit);
00048     }
00049   }
00051   bool isSet( int bit ) const                                                  {
00052     return (bit>=0 && bit<32) ? (1==((m_pattern&(1<<bit)) >> bit)) : false;
00053   }
00054 
00056   friend StreamBuffer& operator<< ( StreamBuffer& s,
00057                                     const TriggerPattern& obj )                {
00058     return s << obj.m_pattern;
00059   }
00061   friend StreamBuffer& operator>> ( StreamBuffer& s,
00062                                     TriggerPattern& obj )                      {
00063     return s >> obj.m_pattern;
00064   }
00065 
00067   friend std::ostream& operator<< ( std::ostream& s,
00068                                     const TriggerPattern& obj )                {
00069     return obj.fillStream(s);
00070   }
00072   std::ostream& fillStream( std::ostream& s ) const                            {
00073     return s << "class TriggerPattern : "
00074       << GlastEventField( GlastEvent::field12 )
00075       << m_pattern;
00076   }
00077 
00078 private:
00079 
00081   long m_pattern;
00082 
00083 };
00084 
00085 
00086 #endif  // LHCBEVENT_TRIGGERPATTERN_H

Generated at Wed Nov 21 12:22:50 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000