/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/DetectorDescription/ROOTGeo/ROOTGeo-00-00-15/ROOTGeo/SubDetectorROOTGeo.h

Go to the documentation of this file.
00001 //$id$
00002 /*
00003  *    2004/12/9    Zhengyun You      Peking University
00004  *                 ROOT Geometry for Bes sub-detector in event display and reconstruction.
00005  *
00006  */
00007 
00008 #ifndef SUBDETECTOR_ROOT_GEO_H
00009 #define SUBDETECTOR_ROOT_GEO_H
00010 
00011 #include <string>
00012 
00013 #include <TGeoVolume.h>
00014 #include <TGeoNode.h>
00015 
00016 #include "Saxana/SAXProcessor.h"
00017 #include "Saxana/ProcessingConfigurator.h"
00018 #include "Processor/TGDMLProcessor.h"
00019 
00028 class SubDetectorROOTGeo
00029 {
00030  public:
00031 
00033   SubDetectorROOTGeo();
00034 
00036   virtual ~SubDetectorROOTGeo();
00037   
00039   void ReadGdml( const char *gdmlFile, const char *setupName );
00040   
00042   int IsInitialized() { return m_ROOTGeoInit; }
00043 
00044   // Set child no of this subdetector in bes;
00045   void SetChildNo(int childNo) { m_childNo = childNo; }
00046   
00048   TGeoVolume *GetLogicalVolume( const std::string& vn );
00049   
00051   TGeoVolume *GetTopVolume() { return m_TopVolume; }
00052 
00054   TGeoVolumeAssembly *GetAssemblyVolume( const std::string& an );
00055 
00057   TGeoNode* GetNode( const std::string& nn );
00058   
00059  private:
00060 
00061   SAXProcessor           m_sxp;
00062   ProcessingConfigurator m_config;
00063   
00064  protected:
00065   // Have we initialize the geometry.
00066   int m_ROOTGeoInit;          
00067   int m_childNo;    // child no of this subdetector in bes. 
00068 
00069   TGeoVolume *m_TopVolume;
00070 };
00071 
00072 #endif   /* SUBDETECTOR_ROOT_GEO_H */

Generated on Tue Nov 29 22:58:01 2016 for BOSS_7.0.2 by  doxygen 1.4.7