//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // Temporary class Cal2 (to avoid clashes with Cal) // Will be removed soon when new geometry is fully functional //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // File: Cal.hh // Author: Pasha Murat, Jodi Lamoureux // Creation: Oct 20, 1997 // // // revision history: // ----------------- // *0001 Nov 07 1997 J.Lamoureux- Add CAL_TOWER and functionality // for reconstruction // *0002 Dec 05 1997 J.Lamoureux- make inline acces methods const // *0003 Jan 08 1998 J.Lamoureux- Remove dependence on the vertex. // *0004 Jan 13 1998 P.Murat: minor fixes for KCC // *0005 Jan 23 1998 J.Lamoureux- use AbsEvent instead of CDF_EVENT // *0006 Feb 8 1998 J.Lamoureux- add CAL_CONVERT class so we can made D banks // *0007 Feb 21 1998 J.Lamoureux- find_towe_data(anEvent) renamed read_TOWE(anEvent) // *0008 Mar 20 1998 J.Lamoureux- Take bank making out of Cal class. // *0009 Apr 17 1998 J.Lamoureux- Make CAL into a registry of Cal geometries // *0010 May 21 1998 J.Lamoureux- Move static map to into instance method. // *0011 Sep 12 1998 J.Lamoureux- Remove unnecessary include file Cal.hh // //------------------------------------------------------------------------------ // //----------------------------------------------------------------------------- #ifndef _CAL2_HH_ #define _CAL2_HH_ #ifdef __GNUG__ #pragma interface #endif #include #ifdef USE_ROOT_ # include "RConfig.h" #endif #ifdef __CINT__ class string; #else #include #endif // #include "CalorGeometry/TowerGeometry.hh" //#include "gnt/Coil.hh" #include "Calor/Central_calorimeter2.hh" #include "Calor/Plug_calorimeter2.hh" #include "Calor/Wall_calorimeter2.hh" #include "Calor/Miniplug_calorimeter.hh" // #ifdef __CINT__ // class DETECTOR_TOWER_BOUNDARIES; // #else // # include "Calor/Detector_Tower_Boundaries.hh" // #endif // class TOWE_BANK_DRIVER; /* class CAL2 { //----------------------------------------------------------------------------- // data members //----------------------------------------------------------------------------- protected: // The calorimeter is simulated if any of // its subdetectors is Used. int Used; // The level of detail in the simulation is // 0 for QFL style simulation // 1 for gflash // 2 for a detailed simulation of each tower int Level; // 0 for material mixture // 1 for material mixture with detailed preshower (Gflash) // 2 for scint/absorber layers (detailed) int Level_geom; // const TowerGeometry* _geom; CAL2(); // constructors public: // Classes which contain detector geometry // for the simulation CENTRAL_CALORIMETER2 Central; PLUG_CALORIMETER2 Plug; WALL_CALORIMETER2 Wall; MINIPLUG_CALORIMETER Miniplug; // const TowerGeometry* towerGeom(); // DETECTOR_TOWER_BOUNDARIES* detAnnLoc; // TOWE_BANK_DRIVER* towe; ~CAL2(); // destructor // returns a pointer to the instance of CAL2 // identified by the char string like "default" // If no instance exists, it makes one. static CAL2* instance(string type="default"); // clean up the memory used by CAL2 // (normally to be called in the end of the job) static void DoCleanup(); // Global init routine: sets Used and Level. void init(); // data access methods: int used() { return Used; } int level() { return Level; } int geomLevel() { return Level_geom; } void setUsed (int i) { Used = i; } void setLevel (int i) { Level = i; } void setGeomLevel (int i) {Level_geom = i; } // different tracking media int TmedCem() { return Central.TmedCem(); } int TmedCha() { return Central.TmedCha(); } int TmedCcalPlast(){ return Central.TmedCcalPlast();} int TmedCcalAl() { return Central.TmedCcalAl(); } int TmedCcalIron(){ return Central.TmedCcalIron(); } int TmedCoilNoBfield(){ return Coil.TmedNoBfield(); } int TmedCcalTungsten(){ return Central.TmedCcalTungsten(); } int TmedCmod(){ return Central.TmedCmod(); } int MaterialMiniplug() { return Miniplug.MaterialMiniplug(); } int TmedMiniplug() { return Miniplug.TmedMiniplug(); } int MaterialMiniplugScint() { return Miniplug.MaterialMiniplugScint(); } int MaterialMiniplugEpoxy() { return Miniplug.MaterialMiniplugEpoxy(); } int MaterialMiniplugSteel() { return Miniplug.MaterialMiniplugSteel(); } int TmedMiniplugAir() { return Miniplug.TmedMiniplugAir(); } int TmedMiniplugLead() { return Miniplug.TmedMiniplugLead(); } int TmedMiniplugScint() { return Miniplug.TmedMiniplugScint(); } int TmedMiniplugEpoxy() { return Miniplug.TmedMiniplugEpoxy(); } int TmedMiniplugAl() { return Miniplug.TmedMiniplugAl(); } int TmedMiniplugSteel() { return Miniplug.TmedMiniplugSteel(); } // front steel plate of the plug int TmedPst() { return Plug.TmedPst(); } int TmedPem() { return Plug.TmedPem(); } int TmedPha() { return Plug.TmedPha(); } int TmedPlugEMScint() { return Plug.TmedPlugEMScint(); } int TmedPlugPSDScint() { return Plug.TmedPlugPSDScint(); } int TmedPlugSMDScint() { return Plug.TmedPlugSMDScint(); } int TmedPlugHAScint() { return Plug.TmedPlugHAScint(); } // plug miscellaneous steel used by Jim B. int TmedMst() { return Plug.TmedMst(); } int TmedWha() { return Wall.TmedWha(); } // other methods // int addSimEnergy(const float* x, float energy); #ifdef USE_ROOT_ ClassDef(CAL2,0) #endif }; //---------------------------------------------------------------------------- extern CAL2 *Cal2; */ #endif