Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:46:19

0001 #ifndef Fireworks_Core_FWPhysicsObjectDesc_h
0002 #define Fireworks_Core_FWPhysicsObjectDesc_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Core
0006 // Class  :     FWPhysicsObjectDesc
0007 //
0008 /**\class FWPhysicsObjectDesc FWPhysicsObjectDesc.h Fireworks/Core/interface/FWPhysicsObjectDesc.h
0009 
0010    Description: <one line class summary>
0011 
0012    Usage:
0013     <usage>
0014 
0015  */
0016 //
0017 // Original Author:  Chris Jones
0018 //         Created:  Tue Jan 15 15:04:58 EST 2008
0019 //
0020 
0021 // system include files
0022 #include <string>
0023 #include "FWCore/Reflection/interface/TypeWithDict.h"
0024 
0025 // user include files
0026 #include "Fireworks/Core/interface/FWDisplayProperties.h"
0027 
0028 // forward declarations
0029 
0030 class FWPhysicsObjectDesc {
0031 public:
0032   FWPhysicsObjectDesc(const std::string& iName,
0033                       const TClass* iClass,
0034                       const std::string& iPurpose,
0035                       const FWDisplayProperties& iProperties = FWDisplayProperties::defaultProperties,
0036                       const std::string& iModuleLabel = std::string(),
0037                       const std::string& iProductInstanceLabel = std::string(),
0038                       const std::string& iProcessName = std::string(),
0039                       const std::string& iFilterExpression = std::string(),
0040                       unsigned int iLayer = 1);
0041   //virtual ~FWPhysicsObjectDesc();
0042 
0043   // ---------- const member functions ---------------------
0044   const FWDisplayProperties& displayProperties() const;
0045   const std::string& name() const;
0046 
0047   const TClass* type() const;
0048   const std::string& purpose() const;
0049 
0050   const std::string& moduleLabel() const;
0051   const std::string& productInstanceLabel() const;
0052   const std::string& processName() const;
0053 
0054   //objects with a larger layer number are draw on top of objects with a lower layer number
0055   unsigned int layer() const;
0056 
0057   const std::string& filterExpression() const;
0058   // ---------- static member functions --------------------
0059 
0060   // ---------- member functions ---------------------------
0061 
0062   void setLabels(const std::string& iModule, const std::string& iProductInstance, const std::string& iProcess);
0063   void setName(const std::string& iName);
0064 
0065   void setDisplayProperties(const FWDisplayProperties&);
0066 
0067 private:
0068   //FWPhysicsObjectDesc(const FWPhysicsObjectDesc&); // stop default
0069 
0070   //const FWPhysicsObjectDesc& operator=(const FWPhysicsObjectDesc&); // stop default
0071 
0072   // ---------- member data --------------------------------
0073   std::string m_name;
0074   const TClass* m_type;
0075   const std::string m_purpose;
0076   FWDisplayProperties m_displayProperties;
0077 
0078   std::string m_moduleLabel;
0079   std::string m_productInstanceLabel;
0080   std::string m_processName;
0081 
0082   unsigned int m_layer;
0083 
0084   std::string m_filterExpression;
0085 };
0086 
0087 #endif