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

Go to the documentation of this file.
00001 //$id$
00002 /*
00003  *    2004/9/20    Zhengyun You      Peking University
00004  *                 Muc Geometry General for EventDisplay
00005  *
00006  *    2004/12/11   Zhengyun You      Peking University
00007  *                 named from MucGeo to MucROOTGeo
00008  *                 inherit from class SubDetectorROOTGeo
00009  */
00010 
00011 #ifndef MUC_ROOT_GEO_H
00012 #define MUC_ROOT_GEO_H
00013 
00014 #include <TGeoVolume.h>
00015 #include <TGeoNode.h>
00016 #include <TGeoPhysicalNode.h>
00017 
00018 #include "SubDetectorROOTGeo.h"
00027 class MucROOTGeo : public SubDetectorROOTGeo
00028 {
00029  public:
00030   
00032   MucROOTGeo();
00033 
00035   ~MucROOTGeo();
00036 
00038   void InitFromGdml( const char *gdmlFile, const char *setupName );
00039 
00041   void SetNode();
00042   
00044   void SetDefaultVis();
00045 
00047   void SetAllVisible();
00048 
00050   void SetQuarterVisible();
00051 
00053   void SetPhysicalNode();
00054   
00056   int GetPartNum();
00057 
00059   int GetSegNum(int part);
00060   
00062   int GetGapNum(int part);
00063 
00065   int GetStripNum(int part, int seg, int gap);
00066 
00068   TGeoVolume *GetVolumeMuc() { return m_Muc; }
00069   
00071   TGeoVolume *GetVolumeAbsorber( int part, int seg, int absorber );
00072 
00074   float GetAbsorberThickness( int part, int seg, int absorber );
00075 
00077   TGeoVolume *GetVolumeAbsorberPanel( int part, int seg, int absorber, int panel );
00078 
00080   TGeoVolume *GetVolumeGap( int part, int seg, int gap );
00081 
00083   TGeoVolume *GetVolumeAluminumBox( int part, int seg, int gap );
00084 
00086   TGeoVolume *GetVolumeStripPlane( int part, int seg, int gap );
00087 
00089   TGeoVolume *GetVolumeStrip( int part, int seg, int gap, int strip );
00090   
00092   TGeoVolume *GetVolumeGasChamber( int part, int seg, int gap, int panel, int gasChamber );
00093 
00095   TGeoVolume *GetVolumeBakelite( int part, int seg, int gap, int panel, int bakelite );
00096 
00098   //TGeoNode *GetAbsorber( int part, int seg, int absorber );
00099 
00101   //TGeoNode *GetAbsorberPanel( int part, int seg, int absorber, int panel );
00102 
00104   TGeoNode *GetGap( int part, int seg, int gap );
00105 
00107   //TGeoNode *GetAluminumBox( int part, int seg, int gap );
00108 
00110   TGeoNode *GetStripPlane( int part, int seg, int gap);
00111 
00113   TGeoNode *GetStrip( int part, int seg, int gap, int strip );
00114   
00116   //TGeoNode *GetGasChamber( int part, int seg, int gap, int gasChamber );
00117 
00119   //TGeoNode *GetBakelite( int part, int seg, int gap, int bakelite );
00120 
00122   TGeoPhysicalNode *GetPhysicalGap( int part, int seg, int gap );
00123 
00125   TGeoPhysicalNode *GetPhysicalAluminumBox( int part, int seg, int gap );
00126 
00127 
00129   TGeoPhysicalNode *GetPhysicalStrip( int part, int seg, int gap, int strip );
00130 
00131  private:
00132 
00133   static const int m_kPart        = 3;
00134   static const int m_kSegMax      = 8;
00135   static const int m_kAbsorberMax = 9;
00136   static const int m_kGapMax      = 9;
00137   static const int m_kPanelMax    = 4;
00138   static const int m_kStripMax    = 112;
00139   static const int m_kBakelite    = 4;
00140   static const int m_kGasChamber  = 2;
00141 
00142   static const int m_kSeg[m_kPart];
00143   static const int m_kAbsorber[m_kPart];
00144   static const int m_kGap[m_kPart];
00145   static const int m_kPanel[m_kPart];
00146   
00147   int m_StripNum[m_kPart][m_kSegMax][m_kGapMax];
00148 
00149   TGeoVolume       *m_Muc;
00150   TGeoNode         *m_NodeGap[m_kPart][m_kSegMax][m_kGapMax];
00151   //TGeoNode         *m_NodeAluminumBox[m_kPart][m_kSegMax][m_kGapMax];
00152   TGeoNode         *m_NodeStripPlane[m_kPart][m_kSegMax][m_kGapMax];
00153   TGeoNode         *m_NodeStrip[m_kPart][m_kSegMax][m_kGapMax][m_kStripMax];
00154 
00155   TGeoPhysicalNode *m_PhysicalGap[m_kPart][m_kSegMax][m_kGapMax];
00156   //  TGeoPhysicalNode *m_PhysicalBox[m_kPart][m_kSegMax][m_kGapMax];
00157   TGeoPhysicalNode *m_PhysicalStrip[m_kPart][m_kSegMax][m_kGapMax][m_kStripMax];
00158 };
00159 
00160 #endif   /* MUC_ROOT_GEO_H */

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