/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/EventFilter/HltUtilities/HltDataTypes/HltDataTypes-01-01-03/HltDataTypes/EventType.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  EventInfo Package
00003  -----------------------------------------
00004  Copyright (C) 2000 by ATLAS Collaboration
00005  ***************************************************************************/
00006 
00007 //<doc><file>   $Id: EventType.h,v 1.1.1.1 2007/04/25 11:46:57 zoujh Exp $
00008 //<version>     $Name: HltDataTypes-01-01-03 $
00009 
00010 #ifndef EVENTINFO_EVENTTYPE_H
00011 # define EVENTINFO_EVENTTYPE_H 1
00012 
00013 //<<<<<< INCLUDES                                                       >>>>>>
00014 
00015 #include <vector>
00016 #include <string>
00017 
00018 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00019 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00020 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00021 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00022 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00023 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00024 
00084 class EventType {
00085 public:
00086 
00087     // public typedefs:
00088     typedef     std::vector<bool>                   BitMask;  
00089     typedef     BitMask::const_iterator             BitMaskIterator;  
00090     typedef     BitMask::size_type                  EventTypeCode;  
00091     typedef     std::pair<std::string,std::string>  NameTagPair;
00092     typedef     std::vector<NameTagPair>            NameTagPairVec;
00093 
00094     EventType();
00095     virtual ~EventType();
00096 
00097     // Set characteristics:
00098     void                add_type        (EventTypeCode type_code);
00099     void                set_user_type   (const std::string& user_type);
00100     void                set_detdescr_tags(const NameTagPairVec& pairs);
00101 
00102     // Tests for standard characteristics
00103     bool                test            (EventTypeCode type_code) const;
00104 
00105     // Access to user type
00106     const std::string&  user_type       (void) const;
00107 
00108     // Access DetDescr tags
00109     void                get_detdescr_tags(NameTagPairVec& pairs);
00110 
00111 
00112     // The set of possible characteristic codes:
00113     static const EventTypeCode  IS_SIMULATION;  // false: IS_DATA
00114     static const EventTypeCode  IS_TESTBEAM;    // false: IS_FROM_ATLAS_DET
00115     static const EventTypeCode  IS_CALIBRATION; // false: IS_PHYSICS
00116     
00117 
00118     // Access to full set of standard characteristics
00119     BitMaskIterator     bit_mask_begin  (void) const;
00120     BitMaskIterator     bit_mask_end    (void) const;
00121 
00122 private:
00123     BitMask             m_bit_mask; 
00124     std::string         m_user_type;
00125 };
00126 
00127 
00128 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00129 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00130 
00131 #endif // EVENTINFO_EVENTTYPE_H

Generated on Tue Nov 29 23:12:07 2016 for BOSS_7.0.2 by  doxygen 1.4.7