00001
00002
00003
00004
00005
00006 #ifndef BDSLWCalorimeter_h
00007 #define BDSLWCalorimeter_h 1
00008
00009 #include "globals.hh"
00010 #include "BDSAcceleratorComponent.hh"
00011 #include "BDSMaterials.hh"
00012 #include "G4LogicalVolume.hh"
00013
00014 #include "G4FieldManager.hh"
00015 #include "G4ChordFinder.hh"
00016 #include "G4Mag_UsualEqRhs.hh"
00017 #include "G4UserLimits.hh"
00018 #include "G4VisAttributes.hh"
00019
00020 class BDSLWCalorimeter :public BDSAcceleratorComponent
00021 {
00022 public:
00023 BDSLWCalorimeter(G4String& aName,G4double aLength, G4double aBpRad);
00024 ~BDSLWCalorimeter();
00025 void BuildBeampipe(G4double aLength);
00026 void BuildCal(G4double aLength);
00027
00028 protected:
00029 G4LogicalVolume* itsBeampipeLogicalVolume;
00030 G4LogicalVolume* itsInnerBPLogicalVolume;
00031 G4LogicalVolume* itsLWCalLogicalVolume;
00032 G4UserLimits* itsBeampipeUserLimits;
00033 G4FieldManager* itsBPFieldMgr;
00034
00035 private:
00036 G4Tubs* itsBPTube;
00037 G4Tubs* itsInnerBPTube;
00038 G4Box* itsLWCal;
00039 G4VisAttributes* SetVisAttributes();
00040 void LWCalorimeterLogicalVolume();
00041
00042
00043 G4UserLimits* itsUserLimits;
00044 G4VisAttributes* itsVisAttributes;
00045 };
00046
00047 #endif