Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:41

0001 //-------------------------------------------------
0002 //
0003 /**  \class L1MuDTDataBuffer
0004  *
0005  *   Data Buffer:
0006  *
0007  *   The Data Buffer stores track 
0008  *   segment data during the            
0009  *   execution of the track assembler
0010  *
0011  *
0012  *
0013  *   N. Neumeister            CERN EP
0014  */
0015 //
0016 //--------------------------------------------------
0017 #ifndef L1MUDT_DATA_BUFFER_H
0018 #define L1MUDT_DATA_BUFFER_H
0019 
0020 //---------------
0021 // C++ Headers --
0022 //---------------
0023 
0024 #include <vector>
0025 
0026 //----------------------
0027 // Base Class Headers --
0028 //----------------------
0029 
0030 //------------------------------------
0031 // Collaborating Class Declarations --
0032 //------------------------------------
0033 
0034 class L1MuDTSectorProcessor;
0035 class L1MuDTTrackSegPhi;
0036 
0037 //              ---------------------
0038 //              -- Class Interface --
0039 //              ---------------------
0040 
0041 class L1MuDTDataBuffer {
0042 public:
0043   /// container to store phi track segments
0044   typedef std::vector<L1MuDTTrackSegPhi*> TSPhivector;
0045 
0046   /// constructor
0047   L1MuDTDataBuffer(const L1MuDTSectorProcessor&);
0048 
0049   /// destructor
0050   virtual ~L1MuDTDataBuffer();
0051 
0052   /// clear Data Buffer
0053   void reset();
0054 
0055   /// get all track segments from the buffer
0056   const TSPhivector& getTSphi() const { return *m_tsphi; }
0057 
0058   /// get phi track segment of a given station from the buffer
0059   const L1MuDTTrackSegPhi* getTSphi(int station, int address) const;
0060 
0061   /// add new phi track segment to the Data Buffer
0062   void addTSphi(int adr, const L1MuDTTrackSegPhi&);
0063 
0064   /// print all phi track segments which are in the buffer
0065   void printTSphi() const;
0066 
0067   /// return number of non-empty phi track segments
0068   int numberTSphi() const;
0069 
0070 private:
0071   const L1MuDTSectorProcessor& m_sp;
0072   TSPhivector* m_tsphi;
0073 };
0074 
0075 #endif