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 {
14  public:
15 
16  typedef std::vector< DetId > DetIds ;
17  typedef std::vector< GlobalPoint > Points;
18  typedef std::vector< double > Lengths ;
19 
21  const GlobalVector& gv ,
22  const DetIds* di ,
23  const CaloSubdetectorGeometry* sg ,
24  DetId::Detector det ,
25  int subdet,
26  double small = 1.e-10,
27  bool onewayonly = false ) ;
28 
29  virtual ~CaloCellCrossing() {} ;
30 
31  const GlobalPoint& gp() const { return m_gp ; }
32  const GlobalVector& gv() const { return m_gv ; }
33 
34  const DetIds& detIds() const { return m_detId ; }
35  const Points& centers() const { return m_ctr ; }
36  const Points& entrances() const { return m_entr ; }
37  const Points& exits() const { return m_exit ; }
38  const Lengths& lengths() const { return m_len ; }
39 
40  private:
41 
44 
47 
48  DetIds m_detId ;
49 
50  Points m_ctr ;
51 
52  Points m_entr ;
53  Points m_exit ;
54  Lengths m_len ;
55 
56 };
57 
58 std::ostream& operator<<( std::ostream& s, const CaloCellCrossing& cell ) ;
59 
60 #endif
std::ostream & operator<<(std::ostream &s, const CaloCellCrossing &cell)
const Points & entrances() const
const Lengths & lengths() const
std::vector< double > Lengths
std::vector< GlobalPoint > Points
const DetIds & detIds() const
virtual ~CaloCellCrossing()
CaloCellCrossing operator=(const 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
const Points & centers() const
GlobalVector m_gv
std::vector< DetId > DetIds