/scratch0/jsnuveri/BDSIM/BDSIMgit/bdsim/include/BDSLWCalorimeter.hh

00001 /* BDSIM code for LW Calorimeter.    Version 1.0
00002    Author: John Carter, Royal Holloway, Univ. of London.
00003    Last modified 26.7.2004
00004    Copyright (c) 2004 by J.C.Carter.  ALL RIGHTS RESERVED. 
00005 */
00006 #ifndef BDSLWCalorimeter_h
00007 #define BDSLWCalorimeter_h 1
00008 
00009 #include "globals.hh"
00010 #include "BDSAcceleratorComponent.hh"
00011 #include "BDSTiltOffset.hh"
00012 
00013 class G4Box;
00014 class G4FieldManager;
00015 class G4LogicalVolume;
00016 class G4Tubs;
00017 class G4UserLimits;
00018 class G4VPhysicalVolume;
00019 
00020 class BDSLWCalorimeter :public BDSAcceleratorComponent
00021 {
00022 public:
00023   BDSLWCalorimeter(G4String         name,
00024                    G4double         length,
00025                    BDSBeamPipeInfo* beamPipeInfo,
00026                    BDSTiltOffset    tiltOffset = BDSTiltOffset());
00027   ~BDSLWCalorimeter();
00028 
00029 protected:
00030   virtual void Build();
00031 
00032   G4LogicalVolume* itsBeampipeLogicalVolume;
00033   G4LogicalVolume* itsInnerBPLogicalVolume;
00034   G4VPhysicalVolume* itsPhysiInner;
00035   G4VPhysicalVolume* itsPhysiComp;
00036   G4LogicalVolume* itsLWCalLogicalVolume;
00037   G4UserLimits* itsBeampipeUserLimits;
00038   G4FieldManager* itsBPFieldMgr;
00039 
00040 private:
00041   virtual void SetVisAttributes();
00042   virtual void BuildMarkerLogicalVolume();
00043   void BuildBeampipe();
00044   void BuildCal(G4double aLength);
00045 
00046   G4Tubs* itsBPTube;
00047   G4Tubs* itsInnerBPTube;
00048   G4Box*  itsLWCal;
00049   G4VPhysicalVolume* itsPhysiLWCal;
00050 };
00051 
00052 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7