CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/SimDataFormats/RPCDigiSimLink/interface/RPCDigiSimLink.h

Go to the documentation of this file.
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