Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:24:03

0001 #ifndef SimDataFormatsValidationFormatsPHGCalValidInfo_h
0002 #define SimDataFormatsValidationFormatsPHGCalValidInfo_h
0003 
0004 #include <string>
0005 #include <vector>
0006 #include <memory>
0007 
0008 ///////////////////////////////////////////////////////////////////////////////
0009 ////// PHGCalValidInfo
0010 ///////////////////////////////////////////////////////////////////////////////
0011 
0012 class PHGCalValidInfo {
0013 public:
0014   PHGCalValidInfo() : edepEETot(0.0), edepHEFTot(0.0), edepHEBTot(0.0) {}
0015   virtual ~PHGCalValidInfo() {}
0016 
0017   float eeTotEdep() const { return edepEETot; }
0018   float hefTotEdep() const { return edepHEFTot; }
0019   float hebTotEdep() const { return edepHEBTot; }
0020 
0021   std::vector<float> eehgcEdep() const { return hgcEEedep; }
0022   std::vector<float> hefhgcEdep() const { return hgcHEFedep; }
0023   std::vector<float> hebhgcEdep() const { return hgcHEBedep; }
0024   std::vector<unsigned int> hitDets() const { return hgcHitDets; }
0025   std::vector<unsigned int> hitIndex() const { return hgcHitIndex; }
0026   std::vector<float> hitvtxX() const { return hgcHitVtxX; }
0027   std::vector<float> hitvtxY() const { return hgcHitVtxY; }
0028   std::vector<float> hitvtxZ() const { return hgcHitVtxZ; }
0029 
0030   void fillhgcHits(const std::vector<unsigned int>& hitdets,
0031                    const std::vector<unsigned int>& hitindex,
0032                    const std::vector<double>& hitvtxX,
0033                    const std::vector<double>& hitvtxY,
0034                    const std::vector<double>& hitvtxZ);
0035 
0036   void fillhgcLayers(const double edepEE,
0037                      const double edepHEF,
0038                      const double edepHEB,
0039                      const std::vector<double>& eedep,
0040                      const std::vector<double>& hefdep,
0041                      const std::vector<double>& hebdep);
0042 
0043 private:
0044   float edepEETot, edepHEFTot, edepHEBTot;
0045   std::vector<float> hgcEEedep, hgcHEFedep, hgcHEBedep;
0046   std::vector<float> hgcHitVtxX, hgcHitVtxY, hgcHitVtxZ;
0047   std::vector<unsigned int> hgcHitDets, hgcHitIndex;
0048 };
0049 
0050 #endif