9 #include "Math/GenVector/Plane3D.h"
27 psLayer1Entrance_(layer1entrance),
28 psLayer1Dir_(layer1dir),
29 psLayer2Entrance_(layer2entrance),
30 psLayer2Dir_(layer2dir),
31 totalLayer1_(0.),totalLayer2_(0.),
32 theGenerator(aGenerator),
49 XYZVector planeVec1=(zaxis.Cross(layer1dir)).Unit();
53 (
Point)psLayer1Entrance_,
54 (
Point)(psLayer1Entrance_+layer1dir),
55 (
Point)(psLayer1Entrance_+planeVec1));
73 XYZVector planeVec2=(zaxis.Cross(layer2dir)).Unit();
77 (
Point)psLayer2Entrance_,
78 (
Point)(psLayer2Entrance_+layer2dir),
79 (
Point)(psLayer2Entrance_+planeVec2));
99 int z=(point.z()>0) ? 1: -1;
113 CaloHitID current_id(strip.rawId(),tof,0);
114 std::map<CaloHitID,float>::iterator cellitr;
115 cellitr =
hitMap_.find(current_id);
118 hitMap_.insert(std::pair<CaloHitID,float>(current_id,spote));
122 cellitr->second+=spote;
double preshowerZPosition(int layer) const
bool addHit(double r, double phi, unsigned layer=0)
Sin< T >::type sin(const T &t)
Global3DPoint GlobalPoint
const EcalPreshowerGeometry * getEcalPreshowerGeometry() const
Transform3D locToGlobal1_
PreshowerHitMaker(CaloGeometryHelper *calo, const XYZPoint &, const XYZVector &, const XYZPoint &, const XYZVector &, const LandauFluctuationGenerator *aGenerator, const RandomEngineAndDistribution *engine)
virtual const CaloCellGeometry * getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
const CaloGeometryHelper * myCalorimeter
XYZPoint psLayer2Entrance_
Cos< T >::type cos(const T &t)
virtual DetId getClosestCellInPlane(const GlobalPoint &r, int plane) const
static XYZPoint intersect(const Plane3D &p, const XYZPoint &a, const XYZPoint &b, double &t, bool segment, bool debug=false)
ROOT::Math::Transform3DPJ Transform3D
XYZPoint psLayer1Entrance_
double landau(RandomEngineAndDistribution const *random) const
Random generator of the dE/dX spread (Landau function)
std::map< CaloHitID, float > hitMap_
ROOT::Math::Plane3D Plane3D
Geom::Phi< T > phi() const
Transform3D locToGlobal2_
math::XYZVector XYZVector
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
const LandauFluctuationGenerator * theGenerator
The Landau Fluctuation generator.
ROOT::Math::Plane3D Plane3D
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
const RandomEngineAndDistribution * random