Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-10 02:59:12

0001 #ifndef SimPPS_PPSPixelDigiProducer_ENERGY_DEPOSIT_UNIT_H
0002 #define SimPPS_PPSPixelDigiProducer_ENERGY_DEPOSIT_UNIT_H
0003 
0004 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0005 #include "DataFormats/GeometryVector/interface/LocalVector.h"
0006 
0007 /**
0008  * Class which allows to "follow" an elementary charge in the silicon.
0009  * It basically defines a quantum of energy, with a position.
0010  */
0011 class RPixEnergyDepositUnit {
0012 public:
0013   RPixEnergyDepositUnit() : energy_(0), position_(0, 0, 0) {}
0014 
0015   RPixEnergyDepositUnit(double energy, double x, double y, double z) : energy_(energy), position_(x, y, z) {}
0016 
0017   RPixEnergyDepositUnit(double energy, const Local3DPoint& position) : energy_(energy), position_(position) {}
0018 
0019   inline double Energy() const { return energy_; }
0020   inline const Local3DPoint& Position() const { return position_; }
0021 
0022   inline void setEnergy(double e) { energy_ = e; }
0023   inline void setPosition(Local3DPoint p) { position_ = p; }
0024 
0025 private:
0026   double energy_;
0027   Local3DPoint position_;
0028 };
0029 
0030 #endif  //SimPPS_PPSPixelDigiProducer_ENERGY_DEPOSIT_UNIT_H