9 #include "Math/GenVector/Plane3D.h"
26 psLayer1Entrance_(layer1entrance),
27 psLayer1Dir_(layer1dir),
28 psLayer2Entrance_(layer2entrance),
29 psLayer2Dir_(layer2dir),
32 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));
96 int z = (point.z() > 0) ? 1 : -1;
101 GlobalPoint(point.x(), point.y(), point.z()), layer);
103 float meanspot = (layer == 1) ?
mip1_ :
mip2_;
111 CaloHitID current_id(strip.rawId(), tof, 0);
112 std::map<CaloHitID, float>::iterator cellitr;
113 cellitr =
hitMap_.find(current_id);
114 if (cellitr ==
hitMap_.end()) {
115 hitMap_.insert(std::pair<CaloHitID, float>(current_id, spote));
117 cellitr->second += spote;
122 }
else if (layer == 2) {
double preshowerZPosition(int layer) const
std::map< CaloHitID, float > hitMap_
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)
constexpr std::array< uint8_t, layerIndexSize > layer
const CaloGeometryHelper * myCalorimeter
XYZPoint psLayer2Entrance_
Cos< T >::type cos(const T &t)
bool addHit(double r, double phi, unsigned layer=0) override
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)
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
ROOT::Math::Plane3D Plane3D
Transform3D locToGlobal2_
Structure Point Contains parameters of Gaussian fits to DMRs.
math::XYZVector XYZVector
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