CMS 3D CMS Logo

DTRangeT0.h

Go to the documentation of this file.
00001 #ifndef DTRangeT0_H
00002 #define DTRangeT0_H
00003 
00015 //----------------------
00016 // Base Class Headers --
00017 //----------------------
00018 
00019 
00020 //------------------------------------
00021 // Collaborating Class Declarations --
00022 //------------------------------------
00023 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
00024 
00025 //---------------
00026 // C++ Headers --
00027 //---------------
00028 #include <string>
00029 #include <vector>
00030 
00031 //              ---------------------
00032 //              -- Class Interface --
00033 //              ---------------------
00034 
00035 class DTRangeT0Id {
00036 
00037  public:
00038 
00039   DTRangeT0Id();
00040   ~DTRangeT0Id();
00041 
00042   int   wheelId;
00043   int stationId;
00044   int  sectorId;
00045   int      slId;
00046 
00047 };
00048 
00049 
00050 class DTRangeT0Data {
00051 
00052  public:
00053 
00054   DTRangeT0Data();
00055   ~DTRangeT0Data();
00056 
00057   int t0min;
00058   int t0max;
00059 
00060 };
00061 
00062 
00063 class DTRangeT0 {
00064 
00065  public:
00066 
00069   DTRangeT0();
00070   DTRangeT0( const std::string& version );
00071 
00074   ~DTRangeT0();
00075 
00078 
00079   int slRangeT0( int   wheelId,
00080                  int stationId,
00081                  int  sectorId,
00082                  int      slId,
00083                  int&    t0min,
00084                  int&    t0max ) const
00085       { return get( wheelId, stationId, sectorId, slId,
00086                     t0min, t0max ); };
00087   int slRangeT0( const DTSuperLayerId& id,
00088                  int&    t0min,
00089                  int&    t0max ) const
00090       { return get( id, t0min, t0max ); };
00091   int get( int   wheelId,
00092            int stationId,
00093            int  sectorId,
00094            int      slId,
00095            int&    t0min,
00096            int&    t0max ) const;
00097   int get( const DTSuperLayerId& id,
00098            int&    t0min,
00099            int&    t0max ) const;
00100 
00102   const
00103   std::string& version() const;
00104   std::string& version();
00105 
00107   void clear();
00108 
00109   int setSLRangeT0( int   wheelId,
00110                     int stationId,
00111                     int  sectorId,
00112                     int      slId,
00113                     int     t0min,
00114                     int     t0max )
00115       { return set( wheelId, stationId, sectorId, slId, t0min, t0max ); };
00116   int setSLRangeT0( const DTSuperLayerId& id,
00117                     int     t0min,
00118                     int     t0max )
00119       { return set( id, t0min, t0max ); };
00120   int set( int   wheelId,
00121            int stationId,
00122            int  sectorId,
00123            int      slId,
00124            int     t0min,
00125            int     t0max );
00126   int set( const DTSuperLayerId& id,
00127            int     t0min,
00128            int     t0max );
00129 
00131   typedef std::vector< std::pair<DTRangeT0Id,
00132                                  DTRangeT0Data> >::const_iterator
00133                                                    const_iterator;
00134   const_iterator begin() const;
00135   const_iterator end() const;
00136 
00137  private:
00138 
00139   std::string dataVersion;
00140 
00141   std::vector< std::pair<DTRangeT0Id,DTRangeT0Data> > dataList;
00142 
00144   void cacheMap() const;
00145   std::string mapName() const;
00146 
00147 };
00148 
00149 
00150 #endif // DTRangeT0_H
00151 

Generated on Tue Jun 9 17:26:26 2009 for CMSSW by  doxygen 1.5.4