// -*- Mode: C++ -*- //------------------------------------------------------------------------------ // revision history: // ----------------- // *0001 Feb 22 1997 P.Murat: move G3Volume to GEOM area // add `Used' flag // *0002 Mar 17 1997 P.Murat: use `Used' (if !0) to define level of geometry // details // *0003 Apr 29 1997 M. Shapiro: add CEM, CHA and dead scint in CEM region // *0004 Aug 04 1997 M. Shapiro: Fix problem with dead scint in CEM // *0005 Oct 20 1997 J.Lamoureux: Changed name to central_calorimeter. // *0006 Mar 20 1998 J.Lamoureux: Use Level hook // *0007 Feb 11 2000 J. Mayer: Finished new detailed and non-detailed // geometries. Added crack chambers and // CPR volumes. //------------------------------------------------------------------------------ #ifndef __CENTRAL_CALORIMETER2_HH__ #define __CENTRAL_CALORIMETER2_HH__ #include "Geometry/G3Volume.hh" #include "evt/PObject.hh" class CENTRAL_CALORIMETER2 : public POBJECT, public G3_TUBE { //------------------------------------------------------------------------------ // data members //------------------------------------------------------------------------------ protected: G3_VOLUME CcalModule; G3_VOLUME CmodCem; G3_VOLUME CmodCha; G3_VOLUME CmodCes; G3_VOLUME CmodSideplate; G3_VOLUME CmodEndplate; G3_VOLUME CmodFrontplate; G3_VOLUME CmodScint; G3_VOLUME CmodLead; G3_VOLUME CmodAl; G3_VOLUME CmodMylar; G3_VOLUME CmodPlast; G3_VOLUME CmodIron; G3_VOLUME CmodCrackBar; G3_VOLUME CmodCrackChamber; G3_VOLUME CmodCprChamber; G3_VOLUME CmodSpringVol; // materials int fMaterialCem; int fMaterialCha; int fMaterialCmod; // tracking media int fTmedCcal; int fTmedCem; int fTmedCha; int fTmedCmod; // materials used for the detailed ccal int fMaterialCcalMylar; int fMaterialCcalScint; int fMaterialCcalPlast; // tracking media for the detailed ccal int fTmedCcalAir; int fTmedCcalLead; int fTmedCcalEMScint; int fTmedCcalHAScint; int fTmedCcalPlast; int fTmedCcalAl; int fTmedCcalIron; int fTmedCcalMylar; int fTmedCcalTungsten; //------------------------------------------------------------------------------ // function members //------------------------------------------------------------------------------ public: // ****** constructor and destructor CENTRAL_CALORIMETER2(); ~CENTRAL_CALORIMETER2(); // global initialization routine int init(int geomLevel); // initalize geometry, level of detail // is defined by Used int initGeometry(int geomLevel); // ****** data access methods ****** int MaterialCem() { return fMaterialCem; } int MaterialCha() { return fMaterialCha; } int MaterialCmod() { return fMaterialCmod; } int TmedCcal() { return fTmedCcal; } int TmedCem () { return fTmedCem; } int TmedCha () { return fTmedCha; } int TmedCmod () { return fTmedCmod; } int MaterialCcalMylar() { return fMaterialCcalMylar; } int MaterialCcalScint() { return fMaterialCcalScint; } int MaterialCcalPlast() { return fMaterialCcalPlast; } int TmedCcalAir() { return fTmedCcalAir; } int TmedCcalLead() { return fTmedCcalLead; } int TmedCcalEMScint() { return fTmedCcalEMScint; } int TmedCcalHAScint() { return fTmedCcalHAScint; } int TmedCcalPlast() { return fTmedCcalPlast; } int TmedCcalAl() { return fTmedCcalAl; } int TmedCcalIron() { return fTmedCcalIron; } int TmedCcalMylar() { return fTmedCcalMylar; } int TmedCcalTungsten() { return fTmedCcalTungsten;} // ****** setters ****** }; #endif