00001 00002 // $Id: GeoSteelPlnVolume.h,v 1.9 2007/11/25 03:45:29 schubert Exp $ 00003 // 00004 // GeoSteelPlnVolume 00005 // 00006 // GeoSteelPlnVolume is a scint pln volume. 00007 // 00008 // Author: S. Kasahara 07/04 00010 00011 #ifndef GEOSTEELPLNVOLUME_H 00012 #define GEOSTEELPLNVOLUME_H 00013 00014 #include "GeoGeometry/GeoVolume.h" 00015 #include "Conventions/Detector.h" 00016 00017 class GeoSteelPlnVolume; 00018 class GeoGeometry; 00019 class TGeoShape; 00020 class TGeoMedium; 00021 class PlexPlaneId; 00022 00023 class GeoSteelPlnVolume : public GeoVolume { 00024 00025 friend class GeoGeometry; 00026 00027 public: 00028 // Constructors & Destructors 00029 GeoSteelPlnVolume(); 00030 virtual ~GeoSteelPlnVolume() {} 00031 00032 // State testing methods 00033 virtual void Print(Option_t *option="") const; 00034 00035 protected: 00036 // Normal constructor 00037 GeoSteelPlnVolume(GeoGeometry* geo, const PlexPlaneId& plnid, 00038 Float_t plnthick); 00039 00040 private: 00041 // Helper methods for constructing scint pln shape 00042 TGeoShape* BuildPlaneShape() const; 00043 TGeoShape* BuildFar() const; 00044 TGeoShape* BuildFarSteelXtru() const; 00045 TGeoShape* BuildFarSteelPgon() const; 00046 TGeoShape* BuildNear() const; 00047 TGeoShape* BuildNearSteelXtru() const; 00048 TGeoShape* BuildCalDet() const; 00049 TGeoShape* BuildCalDetSteelBasic() const; 00050 TGeoVolume* BuildFarCoilVolume() const; 00051 TGeoVolume* BuildNearCoilVolume() const; 00052 void AddCoilNode(); 00053 00054 // Data members 00055 Detector::Detector_t fDetector; 00056 Float_t fThick; 00057 00058 ClassDef(GeoSteelPlnVolume,1) 00059 }; 00060 #endif // GEOSTEELPLNVOLUME_H
1.3.9.1