/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Muc/MucGeoCreateAlg/MucGeoCreateAlg-00-01-00/MucGeoCreateAlg/MucGeoMgr.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------|
00002 //      [File  ]:                       MucGeoMgr.h                                   |
00003 //      [Brief ]:       Header file of MUC geometry manager class                       |
00004 //      [Author]:       Xie Yuguang, <ygxie@mail.ihep.ac.cn>                    |
00005 //      [Date  ]:       Mar 28, 2006                                            |
00006 //------------------------------------------------------------------------------|
00007 
00008 #ifndef MUC_GEO_MGR_ALG_H
00009 #define MUC_GEO_MGR_ALG_H
00010 
00011 #include<iostream>
00012 #include<string>
00013 
00014 #include "GaudiKernel/MsgStream.h"
00015 #include "GaudiKernel/StatusCode.h"
00016 #include "GaudiKernel/IMessageSvc.h"
00017 
00018 #include "MucGeoCreateAlg/MucGeoConst.h"
00019 #include "MucGeoCreateAlg/MucEntity.h"
00020 #include "MucGeoCreateAlg/MucAbsorber.h"
00021 #include "MucGeoCreateAlg/MucGap.h"
00022 #include "MucGeoCreateAlg/MucBox.h"
00023 #include "MucGeoCreateAlg/MucStripPlane.h"
00024 #include "MucGeoCreateAlg/MucStrip.h"
00025 #include "MucGeoCreateAlg/MucRpc.h"
00026 #include "MucGeoCreateAlg/MucBoxCover.h"
00027 #include "MucGeoCreateAlg/MucBakelite.h"
00028 #include "MucGeoCreateAlg/MucGas.h"
00029 #include "MucGeoCreateAlg/MucIdTransform.h"
00030 
00031 /*
00032 #include "TH1F.h"
00033 #include "TGeometry.h"
00034 #include "TGeoManager.h"
00035 #include "TGeoVolume.h"
00036 #include "TGeoMaterial.h"
00037 #include "TGeoMedium.h"
00038 #include "TGeoBBox.h"
00039 #include "TCanvas.h"
00040 */
00041 
00042 using namespace std;
00043 
00044 const unsigned int ENTITY_NUM = 9;
00045 
00046 class MucGeoMgr 
00047 {
00048           public:
00049         MucGeoMgr( const std::string createFlag, bool alignFlag, const std::string alignFile );
00050       ~MucGeoMgr();
00051                         
00052                 StatusCode CreateEntities();    
00053                 StatusCode CreateRootGeo();
00054                 StatusCode CreateOnlineStripGeo();
00055                 
00056           MucAbsorber   *GetAbsorber(   int part, int segment, int layer, int id );
00057                 MucGap          *GetGap(        int part, int segment, int layer, int id );
00058                 MucBox          *GetBox(        int part, int segment, int layer, int id );
00059                 MucStripPlane   *GetStripPlane( int part, int segment, int layer, int id );
00060           MucStrip      *GetStrip(      int part, int segment, int layer, int id );
00061     MucRpc              *GetRpc(        int part, int segment, int layer, int upDown, int id );
00062                 MucGas          *GetGas(        int part, int segment, int layer, int upDown, int rpcId, int id );
00063                 MucBakelite     *GetBakelite(   int part, int segment, int layer, int upDown, int rpcId, int id );
00064                 MucBoxCover     *GetBoxCover(   int part, int segment, int layer, int upDown, int id );
00065 
00066                 IMessageSvc     *msgSvc;
00067         
00068                 protected:
00069 
00070           StatusCode CreateAbsorber();
00071     StatusCode CreateGap();
00072                 StatusCode CreateBox();
00073                 StatusCode CreateStripPlane();
00074           StatusCode CreateStrip();
00075     StatusCode CreateRpc();
00076                 StatusCode CreateGas();
00077                 StatusCode CreateBakelite();
00078                 StatusCode CreateBoxCover();
00079 
00080                 StatusCode InitOffset();
00081                 bool       CheckBoxOffset( int part, int segment, int layer, int axis, double offset);
00082     bool       CheckStripPlaneOffset( int part, int segment, int layer, int axis, double offset);
00083 
00084     private:
00085 
00086     bool                m_AlignFlag;
00087                 std::string     m_CreateFlag;
00088                 std::string     m_AlignFile;
00089                 double          m_BoxOffset[PART_MAX][B_SEG_NUM][B_LAY_NUM][3];
00090                 double    m_StripPlaneOffset[PART_MAX][B_SEG_NUM][B_LAY_NUM][3];
00091   
00092     MucIdTransform* m_IdTr;                     
00093 
00094                 MucAbsorber     *m_MucAbsorber;
00095                 MucGap          *m_MucGap;
00096                 MucBox          *m_MucBox;
00097                 MucStripPlane   *m_MucStripPlane;
00098                 MucStrip        *m_MucStrip;
00099                 MucRpc          *m_MucRpc;
00100                 MucBoxCover     *m_MucBoxCover;
00101                 MucBakelite     *m_MucBakelite;
00102                 MucGas          *m_MucGas;
00103 
00104                 //TGeoManager *geoMgr;
00105 
00106 };
00107 
00108 #endif

Generated on Tue Nov 29 23:12:56 2016 for BOSS_7.0.2 by  doxygen 1.4.7