CMS 3D CMS Logo

CaloCellCrossing.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_CALOGEOMETRY_CALOCELLCROSSING_H
2 #define GEOMETRY_CALOGEOMETRY_CALOCELLCROSSING_H 1
3 
6 
8 
9 #include <vector>
10 #include <string>
11 
13 public:
14  typedef std::vector<DetId> DetIds;
15  typedef std::vector<GlobalPoint> Points;
16  typedef std::vector<double> Lengths;
17 
19  const GlobalVector& gv,
20  const DetIds* di,
21  const CaloSubdetectorGeometry* sg,
22  DetId::Detector det,
23  int subdet,
24  double small = 1.e-10,
25  bool onewayonly = false);
26 
27  virtual ~CaloCellCrossing(){};
28 
29  const GlobalPoint& gp() const { return m_gp; }
30  const GlobalVector& gv() const { return m_gv; }
31 
32  const DetIds& detIds() const { return m_detId; }
33  const Points& centers() const { return m_ctr; }
34  const Points& entrances() const { return m_entr; }
35  const Points& exits() const { return m_exit; }
36  const Lengths& lengths() const { return m_len; }
37 
38  CaloCellCrossing(const CaloCellCrossing&) = delete;
40 
41 private:
44 
45  DetIds m_detId;
46 
47  Points m_ctr;
48 
49  Points m_entr;
50  Points m_exit;
51  Lengths m_len;
52 };
53 
54 std::ostream& operator<<(std::ostream& s, const CaloCellCrossing& cell);
55 
56 #endif
CaloCellCrossing operator=(const CaloCellCrossing &)=delete
std::ostream & operator<<(std::ostream &s, const CaloCellCrossing &cell)
std::vector< GlobalPoint > Points
const Points & entrances() const
const Lengths & lengths() const
const DetIds & detIds() const
virtual ~CaloCellCrossing()
const Points & exits() const
CaloCellCrossing(const GlobalPoint &gp, const GlobalVector &gv, const DetIds *di, const CaloSubdetectorGeometry *sg, DetId::Detector det, int subdet, double small=1.e-10, bool onewayonly=false)
const GlobalVector & gv() const
Detector
Definition: DetId.h:24
const GlobalPoint & gp() const
std::vector< DetId > DetIds
const Points & centers() const
std::vector< double > Lengths
GlobalVector m_gv