File indexing completed on 2023-03-17 11:23:59
0001 #ifndef SimDataFormats_PassiveHit_H
0002 #define SimDataFormats_PassiveHit_H
0003
0004 #include <string>
0005 #include <vector>
0006
0007
0008
0009 class PassiveHit {
0010 public:
0011 PassiveHit(std::string vname,
0012 unsigned int id,
0013 float e = 0,
0014 float etot = 0,
0015 float t = 0,
0016 int it = 0,
0017 int ip = 0,
0018 float stepl = 0,
0019 float xp = 0,
0020 float yp = 0,
0021 float zp = 0)
0022 : vname_(vname),
0023 id_(id),
0024 energy_(e),
0025 etotal_(etot),
0026 time_(t),
0027 it_(it),
0028 ip_(ip),
0029 stepl_(stepl),
0030 xp_(xp),
0031 yp_(yp),
0032 zp_(zp) {}
0033 PassiveHit()
0034 : vname_(""), id_(0), energy_(0), etotal_(0), time_(0), it_(0), ip_(0), stepl_(0), xp_(0), yp_(0), zp_(0) {}
0035
0036
0037 static const char *name() { return "PassiveHit"; }
0038
0039 const char *getName() const { return name(); }
0040
0041
0042 double energy() const { return energy_; }
0043 void setEnergy(double e) { energy_ = e; }
0044 double energyTotal() const { return etotal_; }
0045 void setEnergyTotal(double e) { etotal_ = e; }
0046
0047
0048 double time() const { return time_; }
0049 void setTime(float t) { time_ = t; }
0050
0051
0052 int trackId() const { return it_; }
0053 void setTrackId(int it) { it_ = it; }
0054
0055
0056 void setID(std::string vname, unsigned int id) {
0057 vname_ = vname;
0058 id_ = id;
0059 }
0060 std::string vname() const { return vname_; }
0061 unsigned int id() const { return id_; }
0062
0063
0064 int pdgId() const { return ip_; }
0065 void setPDGId(int ip) { ip_ = ip; }
0066
0067
0068 float stepLength() const { return stepl_; }
0069 void setStepLength(float stepl) { stepl_ = stepl; }
0070
0071
0072 float x() const { return xp_; }
0073 void setX(float xp) { xp_ = xp; }
0074 float y() const { return yp_; }
0075 void setY(float yp) { yp_ = yp; }
0076 float z() const { return zp_; }
0077 void setZ(float zp) { zp_ = zp; }
0078
0079
0080 bool operator<(const PassiveHit &d) const { return energy_ < d.energy_; }
0081
0082
0083 bool operator==(const PassiveHit &d) const { return (energy_ == d.energy_ && id_ == d.id_ && vname_ == d.vname_); }
0084
0085 protected:
0086 std::string vname_;
0087 unsigned int id_;
0088 float energy_;
0089 float etotal_;
0090 float time_;
0091 int it_;
0092 int ip_;
0093 float stepl_;
0094 float xp_;
0095 float yp_;
0096 float zp_;
0097 };
0098
0099 namespace edm {
0100 typedef std::vector<PassiveHit> PassiveHitContainer;
0101 }
0102
0103 #include <iosfwd>
0104 std::ostream &operator<<(std::ostream &, const PassiveHit &);
0105
0106 #endif