00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef BesMdcConstruction_H
00012 #define BesMdcConstruction_H 1
00013
00014 class G4LogicalVolume;
00015 class G4VPhysicalVolume;
00016
00017
00018 #include "BesSubdetector.hh"
00019 #include "BesMdcGeoParameter.hh"
00020 #include "BesMdcSD.hh"
00021 #include "G4VisAttributes.hh"
00022
00023 class BesMdcConstruction : public BesSubdetector
00024 {
00025 public:
00026
00027 BesMdcConstruction();
00028 ~BesMdcConstruction();
00029
00030 void Construct(G4LogicalVolume*);
00031
00032 private:
00033 void TubeConstruct(G4LogicalVolume*);
00034 void StereoLayerConstruct(G4LogicalVolume*, G4int);
00035 void AxialLayerConstruct(G4LogicalVolume*, G4int);
00036 void AxialCellConstruct(G4LogicalVolume*, G4int, G4int);
00037 private:
00038
00039
00040 G4LogicalVolume* mdc_log;
00041
00042
00043 G4VPhysicalVolume* mdc_phys;
00044
00045 BesMdcGeoParameter* mdc;
00046 BesMdcSD* aTrackerSD;
00047
00048 G4double outR, innerR, length;
00049 G4double startAngle, spanAngle;
00050 G4double posX, posY, posZ;
00051 G4double signalWireR,fieldWireR;
00052
00053 G4RotationMatrix* Rot;
00054
00055 G4VisAttributes* visAtt;
00056 };
00057
00058 #endif