![]() |
![]() |
00001 #ifndef RPCOBJECTS_RPCDIGISIMLINK_H 00002 #define RPCOBJECTS_RPCDIGISIMLINK_H 00003 00004 #include "boost/cstdint.hpp" 00005 #include <map> 00006 #include "DataFormats/GeometryVector/interface/LocalPoint.h" 00007 #include "DataFormats/GeometryVector/interface/LocalVector.h" 00008 #include "SimDataFormats/EncodedEventId/interface/EncodedEventId.h" 00009 00010 class RPCDigiSimLink { 00011 public: 00012 RPCDigiSimLink(std::pair<unsigned int,int> digi,Local3DPoint entryPoint, 00013 LocalVector momentumAtEntry,float timeOfFlight,float energyLoss, 00014 int particleType,unsigned int detUnitId,unsigned int trackId, 00015 EncodedEventId eventId,unsigned short processType) 00016 { 00017 00018 _entryPoint=entryPoint; 00019 _momentumAtEntry=momentumAtEntry; 00020 _timeOfFlight=timeOfFlight; 00021 _energyLoss=energyLoss; 00022 _particleType=particleType; 00023 _detUnitId=detUnitId; 00024 _trackId=trackId; 00025 _eventId=eventId; 00026 _processType=processType; 00027 _digi = digi; 00028 } 00029 00030 RPCDigiSimLink(){;} 00031 00032 ~RPCDigiSimLink(){;} 00033 00034 unsigned int getStrip() const {return _digi.first;} 00035 unsigned int getBx() const {return _digi.second;} 00036 Local3DPoint getEntryPoint() const{return _entryPoint;} 00037 LocalVector getMomentumAtEntry() const{return _momentumAtEntry;} 00038 float getTimeOfFlight() const{return _timeOfFlight;} 00039 float getEnergyLoss() const{return _energyLoss;} 00040 int getParticleType() const{return _particleType;} 00041 unsigned int getDetUnitId() const{return _detUnitId;} 00042 unsigned int getTrackId() const{return _trackId;} 00043 EncodedEventId getEventId() const{return _eventId;} 00044 unsigned short getProcessType() const{return _processType;} 00045 00046 inline bool operator< ( const RPCDigiSimLink& other ) const { return getStrip() < other.getStrip(); } 00047 00048 private: 00049 std::pair<unsigned int,int> _digi; 00050 00051 Local3DPoint _entryPoint; 00052 LocalVector _momentumAtEntry; 00053 float _timeOfFlight; 00054 float _energyLoss; 00055 int _particleType; 00056 unsigned int _detUnitId; 00057 unsigned int _trackId; 00058 EncodedEventId _eventId; 00059 unsigned short _processType; 00060 00061 }; 00062 #endif 00063 00064 00065