CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/Fireworks/Core/interface/FWViewType.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWViewType_h
00002 #define Fireworks_Core_FWViewType_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWViewType
00007 // 
00016 //
00017 // Original Author:  Alja Mrak-Tadel
00018 //         Created:  Mon Mar 22 12:08:40 CET 2010
00019 // $Id: FWViewType.h,v 1.21 2011/07/08 04:39:59 amraktad Exp $
00020 //
00021 #include <string>
00022 
00023 class  FWViewType
00024 {
00025 public:
00026    class static_initializer
00027    {
00028    public:
00029       static_initializer();
00030    };
00031 
00032    static static_initializer init_statics;
00033    
00034    enum EType { kRhoPhi, kRhoZ, k3D, kISpy, kLego, kLegoHF, kGlimpse,
00035                 kTable, kTableL1, kTableHLT,
00036                 kRhoPhiPF, kLegoPFECAL,
00037                 kGeometryTable,
00038                 kTypeSize };
00039    
00040    enum EBit
00041    {
00042       k3DBit         = 1 << k3D,
00043       kRhoPhiBit     = 1 << kRhoPhi,
00044       kRhoZBit       = 1 << kRhoZ,
00045       kRhoPhiPFBit   = 1 << kRhoPhiPF,
00046       kISpyBit       = 1 << kISpy,
00047       kLegoBit       = 1 << kLego,
00048       kLegoHFBit     = 1 << kLegoHF,
00049       kLegoPFECALBit = 1 << kLegoPFECAL,
00050       kGlimpseBit    = 1 << kGlimpse,
00051       kTableBit      = 1 << kTable,
00052       kTableHLTBit   = 1 << kTableHLT,
00053       kTableL1Bit    = 1 << kTableL1,
00054       kGeometryBit   = 1 << kGeometryTable
00055    };
00056 
00057    // shortcuts
00058    static const int kAllRPZBits;
00059    static const int kAll3DBits;
00060    static const int kAllLegoBits;
00061 
00062    static std::string sName[kTypeSize];
00063 
00064    static const std::string& idToName(int);
00065    static bool isProjected(int);
00066    static bool isLego(int);
00067 
00068    static const std::string&  checkNameWithViewVersion(const std::string& name, unsigned int viewVersion);
00069    
00070    FWViewType(EType);
00071    virtual ~FWViewType();
00072 
00073    const std::string& name() const;
00074    EType id() const;
00075 
00076 
00077 private: 
00078    const EType m_id;
00079 };
00080 
00081 #endif