File indexing completed on 2024-04-06 12:30:11
0001
0002
0003 #include "SimG4CMS/PPS/interface/TotemRPG4Hit.h"
0004 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0005 #include <iostream>
0006
0007 TotemRPG4Hit::TotemRPG4Hit() : entry_(0) {
0008 theIncidentEnergy_ = 0.0;
0009 theTrackID_ = -1;
0010 theUnitID_ = 0;
0011 theTimeSlice_ = 0.0;
0012
0013 thePabs_ = 0.0;
0014 theTof_ = 0.0;
0015 theEnergyLoss_ = 0.0;
0016 theParticleType_ = 0;
0017 theX_ = 0.0;
0018 theY_ = 0.0;
0019 theZ_ = 0.0;
0020 theParentId_ = 0;
0021 theVx_ = 0.0;
0022 theVy_ = 0.0;
0023 theVz_ = 0.0;
0024 thePx_ = thePy_ = thePz_ = 0.0;
0025 }
0026
0027 TotemRPG4Hit::TotemRPG4Hit(const TotemRPG4Hit& right) {
0028 theIncidentEnergy_ = right.theIncidentEnergy_;
0029 theTrackID_ = right.theTrackID_;
0030 theUnitID_ = right.theUnitID_;
0031 theTimeSlice_ = right.theTimeSlice_;
0032 entry_ = right.entry_;
0033
0034 thePabs_ = right.thePabs_;
0035 theTof_ = right.theTof_;
0036 theEnergyLoss_ = right.theEnergyLoss_;
0037 theParticleType_ = right.theParticleType_;
0038 theX_ = right.theX_;
0039 theY_ = right.theY_;
0040 theZ_ = right.theZ_;
0041
0042 theVx_ = right.theVx_;
0043 theVy_ = right.theVy_;
0044 theVz_ = right.theVz_;
0045
0046 theParentId_ = right.theParentId_;
0047 }
0048
0049 const TotemRPG4Hit& TotemRPG4Hit::operator=(const TotemRPG4Hit& right) {
0050 theIncidentEnergy_ = right.theIncidentEnergy_;
0051 theTrackID_ = right.theTrackID_;
0052 theUnitID_ = right.theUnitID_;
0053 theTimeSlice_ = right.theTimeSlice_;
0054 entry_ = right.entry_;
0055
0056 thePabs_ = right.thePabs_;
0057 theTof_ = right.theTof_;
0058 theEnergyLoss_ = right.theEnergyLoss_;
0059 theParticleType_ = right.theParticleType_;
0060 theX_ = right.theX_;
0061 theY_ = right.theY_;
0062 theZ_ = right.theZ_;
0063
0064 theVx_ = right.theVx_;
0065 theVy_ = right.theVy_;
0066 theVz_ = right.theVz_;
0067
0068 theParentId_ = right.theParentId_;
0069
0070 return *this;
0071 }
0072
0073 void TotemRPG4Hit::Print() { edm::LogInfo("TotemRP") << (*this); }
0074
0075 G4ThreeVector TotemRPG4Hit::entry() const { return entry_; }
0076 void TotemRPG4Hit::setEntry(G4ThreeVector xyz) { entry_ = xyz; }
0077
0078 G4ThreeVector TotemRPG4Hit::exit() const { return exit_; }
0079 void TotemRPG4Hit::setExit(G4ThreeVector xyz) { exit_ = xyz; }
0080
0081 G4ThreeVector TotemRPG4Hit::localEntry() const { return local_entry_; }
0082 void TotemRPG4Hit::setLocalEntry(const G4ThreeVector& xyz) { local_entry_ = xyz; }
0083 G4ThreeVector TotemRPG4Hit::localExit() const { return local_exit_; }
0084 void TotemRPG4Hit::setLocalExit(const G4ThreeVector& xyz) { local_exit_ = xyz; }
0085
0086 double TotemRPG4Hit::incidentEnergy() const { return theIncidentEnergy_; }
0087 void TotemRPG4Hit::setIncidentEnergy(double e) { theIncidentEnergy_ = e; }
0088
0089 unsigned int TotemRPG4Hit::trackID() const { return theTrackID_; }
0090 void TotemRPG4Hit::setTrackID(int i) { theTrackID_ = i; }
0091
0092 int TotemRPG4Hit::unitID() const { return theUnitID_; }
0093 void TotemRPG4Hit::setUnitID(unsigned int i) { theUnitID_ = i; }
0094
0095 double TotemRPG4Hit::timeSlice() const { return theTimeSlice_; }
0096 void TotemRPG4Hit::setTimeSlice(double d) { theTimeSlice_ = d; }
0097 int TotemRPG4Hit::timeSliceID() const { return (int)theTimeSlice_; }
0098
0099 double TotemRPG4Hit::p() const { return thePabs_; }
0100 double TotemRPG4Hit::tof() const { return theTof_; }
0101 double TotemRPG4Hit::energyLoss() const { return theEnergyLoss_; }
0102 int TotemRPG4Hit::particleType() const { return theParticleType_; }
0103
0104 void TotemRPG4Hit::setP(double e) { thePabs_ = e; }
0105 void TotemRPG4Hit::setTof(double e) { theTof_ = e; }
0106 void TotemRPG4Hit::setEnergyLoss(double e) { theEnergyLoss_ = e; }
0107 void TotemRPG4Hit::addEnergyLoss(double e) { theEnergyLoss_ += e; }
0108 void TotemRPG4Hit::setParticleType(short i) { theParticleType_ = i; }
0109
0110 double TotemRPG4Hit::thetaAtEntry() const { return theThetaAtEntry_; }
0111 double TotemRPG4Hit::phiAtEntry() const { return thePhiAtEntry_; }
0112
0113 void TotemRPG4Hit::setThetaAtEntry(double t) { theThetaAtEntry_ = t; }
0114 void TotemRPG4Hit::setPhiAtEntry(double f) { thePhiAtEntry_ = f; }
0115
0116 double TotemRPG4Hit::x() const { return theX_; }
0117 void TotemRPG4Hit::setX(double t) { theX_ = t; }
0118
0119 double TotemRPG4Hit::y() const { return theY_; }
0120 void TotemRPG4Hit::setY(double t) { theY_ = t; }
0121
0122 double TotemRPG4Hit::z() const { return theZ_; }
0123 void TotemRPG4Hit::setZ(double t) { theZ_ = t; }
0124
0125 int TotemRPG4Hit::parentId() const { return theParentId_; }
0126 void TotemRPG4Hit::setParentId(int p) { theParentId_ = p; }
0127
0128 double TotemRPG4Hit::vx() const { return theVx_; }
0129 void TotemRPG4Hit::setVx(double t) { theVx_ = t; }
0130
0131 double TotemRPG4Hit::vy() const { return theVy_; }
0132 void TotemRPG4Hit::setVy(double t) { theVy_ = t; }
0133
0134 double TotemRPG4Hit::vz() const { return theVz_; }
0135 void TotemRPG4Hit::setVz(double t) { theVz_ = t; }
0136
0137 void TotemRPG4Hit::setPx(double p) { thePx_ = p; }
0138 void TotemRPG4Hit::setPy(double p) { thePy_ = p; }
0139 void TotemRPG4Hit::setPz(double p) { thePz_ = p; }
0140
0141 double TotemRPG4Hit::px() const { return thePx_; }
0142 double TotemRPG4Hit::py() const { return thePy_; }
0143 double TotemRPG4Hit::pz() const { return thePz_; }
0144
0145 std::ostream& operator<<(std::ostream& os, const TotemRPG4Hit& hit) {
0146 os << " Data of this TotemRPG4Hit are:" << std::endl
0147 << " Time slice ID: " << hit.timeSliceID() << std::endl
0148 << " EnergyDeposit = " << hit.energyLoss() << std::endl
0149 << " Energy of primary particle (ID = " << hit.trackID() << ") = " << hit.incidentEnergy() << " (MeV)" << std::endl
0150 << " Entry point in Totem unit number " << hit.unitID() << " is: " << hit.entry() << " (mm)" << std::endl;
0151 os << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << std::endl;
0152 return os;
0153 }