CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/Fireworks/Core/interface/FWPhysicsObjectDesc.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWPhysicsObjectDesc_h
00002 #define Fireworks_Core_FWPhysicsObjectDesc_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     Core
00006 // Class  :     FWPhysicsObjectDesc
00007 //
00016 //
00017 // Original Author:  Chris Jones
00018 //         Created:  Tue Jan 15 15:04:58 EST 2008
00019 // $Id: FWPhysicsObjectDesc.h,v 1.8 2010/05/31 09:44:45 eulisse Exp $
00020 //
00021 
00022 // system include files
00023 #include <string>
00024 #include "Reflex/Type.h"
00025 
00026 // user include files
00027 #include "Fireworks/Core/interface/FWDisplayProperties.h"
00028 
00029 // forward declarations
00030 
00031 class FWPhysicsObjectDesc
00032 {
00033 
00034 public:
00035    FWPhysicsObjectDesc(const std::string& iName,
00036                        const TClass* iClass,
00037                        const std::string& iPurpose,
00038                        const FWDisplayProperties& iProperties =
00039                           FWDisplayProperties::defaultProperties,
00040                        const std::string& iModuleLabel = std::string(),
00041                        const std::string& iProductInstanceLabel = std::string(),
00042                        const std::string& iProcessName = std::string(),
00043                        const std::string& iFilterExpression = std::string(),
00044                        unsigned int iLayer=1);
00045    //virtual ~FWPhysicsObjectDesc();
00046 
00047    // ---------- const member functions ---------------------
00048    const FWDisplayProperties& displayProperties() const;
00049    const std::string& name() const;
00050 
00051    const TClass* type() const;
00052    const std::string& purpose() const;
00053 
00054    const std::string& moduleLabel() const;
00055    const std::string& productInstanceLabel() const;
00056    const std::string& processName() const;
00057 
00058    //objects with a larger layer number are draw on top of objects with a lower layer number
00059    unsigned int layer() const;
00060 
00061    const std::string& filterExpression() const;
00062    // ---------- static member functions --------------------
00063 
00064    // ---------- member functions ---------------------------
00065 
00066    void setLabels(const std::string& iModule,
00067                   const std::string& iProductInstance,
00068                   const std::string& iProcess);
00069    void setName(const std::string& iName);
00070 
00071    void setDisplayProperties( const FWDisplayProperties&);
00072 private:
00073    //FWPhysicsObjectDesc(const FWPhysicsObjectDesc&); // stop default
00074 
00075    //const FWPhysicsObjectDesc& operator=(const FWPhysicsObjectDesc&); // stop default
00076 
00077    // ---------- member data --------------------------------
00078    std::string m_name;
00079    const TClass* m_type;
00080    const std::string m_purpose;
00081    FWDisplayProperties m_displayProperties;
00082 
00083    std::string m_moduleLabel;
00084    std::string m_productInstanceLabel;
00085    std::string m_processName;
00086 
00087    unsigned int m_layer;
00088 
00089    std::string m_filterExpression;
00090 };
00091 
00092 
00093 #endif