00001 #ifndef IG_OPEN_INVENTOR_IG_SO_TOWER_H 00002 # define IG_OPEN_INVENTOR_IG_SO_TOWER_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Inventor/interface/IgSoShapeKit.h" 00007 # include "Inventor/fields/SoSFFloat.h" 00008 # include "Inventor/fields/SoSFVec2f.h" 00009 # include "Inventor/fields/SoMFUInt32.h" 00010 00011 //<<<<<< PUBLIC DEFINES >>>>>> 00012 //<<<<<< PUBLIC CONSTANTS >>>>>> 00013 //<<<<<< PUBLIC TYPES >>>>>> 00014 //<<<<<< PUBLIC VARIABLES >>>>>> 00015 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00016 //<<<<<< CLASS DECLARATIONS >>>>>> 00017 00018 class IG_OPEN_INVENTOR_API IgSoTower : public IgSoShapeKit 00019 { 00020 SO_KIT_HEADER (IgSoTower); 00021 SO_KIT_CATALOG_ENTRY_HEADER (shapeHints); 00022 SO_KIT_CATALOG_ENTRY_HEADER (faces); 00023 00024 public: 00025 IgSoTower (void); 00026 static void initClass (void); 00027 00028 SoSFVec2f position; //< tower center in eta, phi 00029 SoSFFloat energy; //< total energy deposited 00030 SoSFFloat emFraction; //< EM/Total 00031 SoSFFloat scaleFactor; //< GeV to unit distance 00032 SoSFFloat minimumEnergy; //< energy threshold to draw hit 00033 SoSFFloat etaWidth; //< size of hit in eta 00034 SoSFFloat phiWidth; //< size of hit in phi 00035 SoMFUInt32 orderedRGBA; //< materials 00036 00037 protected: 00038 virtual void refresh (void); 00039 private: 00040 void cleanParts (void); 00041 }; 00042 00043 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00044 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00045 00046 #endif // IG_OPEN_INVENTOR_IG_SO_TOWER_H