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;
111 CaloHitID current_id(strip.rawId(),tof,0);
112 std::map<CaloHitID,float>::iterator cellitr;
113 cellitr =
hitMap_.find(current_id);
116 hitMap_.insert(std::pair<CaloHitID,float>(current_id,spote));
120 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_
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
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_
std::map< CaloHitID, float > hitMap_
ROOT::Math::Plane3D Plane3D
Transform3D locToGlobal2_
PreshowerHitMaker(CaloGeometryHelper *calo, const XYZPoint &, const XYZVector &, const XYZPoint &, const XYZVector &, const LandauFluctuationGenerator *aGenerator)
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