#ifndef _TOWER_CALCULATOR_HH_ #define _TOWER_CALCULATOR_HH_ #ifdef USE_CDFEDM2 ////////////////////////////////////////////////////////////////////////// // // Component: TowerCalculator.hh // Purpose: This is a base class for classes that calculate the // summing of energy within calorimeter towers (i.e. // summing the em part with the hadronic part of the tower) // // Created: 15/09/99 Pierre Savard // History: // ////////////////////////////////////////////////////////////////////////// #include #include #include #include "CalorGeometry/CalConstants.hh" #include "CalorGeometry/Locations.hh" #include "CalorObjects/CalTower.hh" #include "CalorObjects/EnergyData.hh" #include "CalorObjects/PhysicsTower.hh" // namespace calor { class TowerCalculator { public: // // Memory management // // Default constructor // TowerCalculator(); // Default copy constructor and assignment operator do the right thing. // Destructor virtual ~TowerCalculator(){}; // // Testing // // // Manipulation and access // // Access methods virtual PhysicsTower* makePhysicsTower(EnergyData* eData, Locations* loc) const = 0; virtual PhysicsTower* makeCorrPhysicsTower(EnergyData* eData, Locations* loc, float emCorr, float hadCorr) const = 0; virtual std::string calcName() const = 0; virtual float etThreshold() const = 0; virtual float energyThreshold() const = 0; // // Printing // friend std::ostream& operator<<(std::ostream& os, const TowerCalculator& t); private: // string _calcName; // float _etTheshhold; }; // } // namespace calor #endif // USE_CDFEDM2 #endif // _TOWER_CALCULATOR_HH_