CMS 3D CMS Logo

LASGlobalData.h

Go to the documentation of this file.
00001 
00002 #ifndef __LASGLOBALDATA_H
00003 #define __LASGLOBALDATA_H
00004 
00005 #include<vector>
00006 #include<iostream>
00007 
00028 template <class T>
00029 class LASGlobalData {
00030 
00031  public:
00032   // enums not in use so far...
00033   enum Subdetector { TECPLUS, TECMINUS, TIB, TOB };
00034   enum TecRing { RING4, RING6 };
00035   enum Beam { BEAM0, BEAM1, BEAM2, BEAM3, BEAM4, BEAM5, BEAM6, BEAM7 };
00036   enum TecDisk { DISK1, DISK2, DISK3, DISK4, DISK5, DISK6, DISK7, DISK8, DISK9 };
00037   enum TibTobPosition { MINUS3, MINUS2, MINUS1, PLUS1, PLUS2, PLUS3 };
00038   LASGlobalData();
00039   T& GetTECEntry( int subdetector, int tecRing, int beam, int tecDisk );
00040   T& GetTIBTOBEntry( int subdetector, int beam, int tibTobPosition );
00041   T& GetTEC2TECEntry( int subdetector, int beam, int tecDisk );
00042   void SetTECEntry( int subdetector, int tecRing, int beam, int tecDisk, T );
00043   void SetTIBTOBEntry( int subdetector, int beam, int tibTobPosition, T );
00044   void SetTEC2TECEntry( int subdetector, int beam, int tecDisk, T );
00045   //  LASGlobalData<T>& operator=( LASGlobalData<T>& );
00046 
00047  private:
00048   void Init( void );
00049   std::vector<std::vector<std::vector<T> > > tecPlusData; // ring<beam<disk<T>>>
00050   std::vector<std::vector<std::vector<T> > > tecMinusData; // ring<beam<disk<T>>>
00051   std::vector<std::vector<T> > tecPlusATData; // beam<disk<T>>
00052   std::vector<std::vector<T> > tecMinusATData; // beam<disk<T>>
00053   std::vector<std::vector<T> > tibData; // beam<pos<T>>
00054   std::vector<std::vector<T> > tobData; // beam<pos<T>>
00055 
00056 };
00057 
00058 
00059 #endif

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