Go to the documentation of this file.00001 #ifndef Fireworks_Core_FWPhysicsObjectDesc_h
00002 #define Fireworks_Core_FWPhysicsObjectDesc_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022
00023 #include <string>
00024 #include "Reflex/Type.h"
00025
00026
00027 #include "Fireworks/Core/interface/FWDisplayProperties.h"
00028
00029
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
00046
00047
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
00059 unsigned int layer() const;
00060
00061 const std::string& filterExpression() const;
00062
00063
00064
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
00074
00075
00076
00077
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