9 #include "Math/GenVector/Plane3D.h"
26 psLayer1Entrance_(layer1entrance),
27 psLayer1Dir_(layer1dir),
28 psLayer2Entrance_(layer2entrance),
29 psLayer2Dir_(layer2dir),
30 totalLayer1_(0.),totalLayer2_(0.),
31 theGenerator(aGenerator)
47 XYZVector planeVec1=(zaxis.Cross(layer1dir)).Unit();
51 (
Point)psLayer1Entrance_,
52 (
Point)(psLayer1Entrance_+layer1dir),
53 (
Point)(psLayer1Entrance_+planeVec1));
71 XYZVector planeVec2=(zaxis.Cross(layer2dir)).Unit();
75 (
Point)psLayer2Entrance_,
76 (
Point)(psLayer2Entrance_+layer2dir),
77 (
Point)(psLayer2Entrance_+planeVec2));
97 int z=(point.z()>0) ? 1: -1;
109 uint32_t stripNumber=strip.rawId();
110 std::map<uint32_t,float>::iterator cellitr;
111 cellitr =
hitMap_.find(stripNumber);
114 hitMap_.insert(std::pair<uint32_t,float>(stripNumber,spote));
118 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_
const CaloGeometryHelper * myCalorimeter
double landau() const
Random generator of the dE/dX spread (Landau function)
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_
ROOT::Math::Plane3D Plane3D
Transform3D locToGlobal2_
PreshowerHitMaker(CaloGeometryHelper *calo, const XYZPoint &, const XYZVector &, const XYZPoint &, const XYZVector &, const LandauFluctuationGenerator *aGenerator)
math::XYZVector XYZVector
std::map< uint32_t, float > hitMap_
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