Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-05-18 09:15:28

0001 #ifndef SimDataFormats_CaloHit_MaterialInformation_H
0002 #define SimDataFormats_CaloHit_MaterialInformation_H
0003 
0004 #include <string>
0005 #include <vector>
0006 
0007 // Persistent information about steps in material
0008 
0009 class MaterialInformation {
0010 public:
0011   MaterialInformation(
0012       std::string vname, int id = 0, float eta = 0, float phi = 0, float length = 0, float radlen = 0, float intlen = 0)
0013       : vname_(vname), id_(id), eta_(eta), phi_(phi), length_(length), radlen_(radlen), intlen_(intlen) {}
0014   MaterialInformation() : vname_(""), id_(0), eta_(0), phi_(0), length_(0), radlen_(0), intlen_(0) {}
0015 
0016   //Names
0017   static const char *name() { return "MaterialInformation"; }
0018   const char *getName() const { return name(); }
0019   std::string vname() const { return vname_; }
0020   int id() const { return id_; }
0021   void setID(int i) { id_ = i; }
0022 
0023   //Track eta, phi
0024   double trackEta() const { return eta_; }
0025   void setTrackEta(double e) { eta_ = e; }
0026   double trackPhi() const { return phi_; }
0027   void setTrackPhi(double f) { phi_ = f; }
0028 
0029   //Lengths
0030   double stepLength() const { return length_; }
0031   void setStepLength(double l) { length_ = l; }
0032   double radiationLength() const { return radlen_; }
0033   void setRadiationLength(double r) { radlen_ = r; }
0034   double interactionLength() const { return intlen_; }
0035   void setInteractionLength(double i) { intlen_ = i; }
0036 
0037 protected:
0038   std::string vname_;
0039   int id_;
0040   float eta_;
0041   float phi_;
0042   float length_;
0043   float radlen_;
0044   float intlen_;
0045 };
0046 
0047 namespace edm {
0048   typedef std::vector<MaterialInformation> MaterialInformationContainer;
0049 }  // namespace edm
0050 
0051 #include <iosfwd>
0052 std::ostream &operator<<(std::ostream &, const MaterialInformation &);
0053 
0054 #endif  // _SimDataFormats_CaloHit_MaterialInformation_h_