00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef MUC_PAD_CHAIN_H
00010 #define MUC_PAD_CHAIN_H
00011
00012 #include<iostream>
00013
00014 class MucPadChain {
00015
00016 public:
00017 MucPadChain( int padNumber );
00018 MucPadChain( int padNumber, double padWidth );
00019 MucPadChain( int padNumber, double padWidth, double aveEff );
00020 MucPadChain( int part, int segment, int layer, int strip, int padNumber );
00021
00022 MucPadChain& operator=( const MucPadChain& );
00023
00024 double GetEff( int padID );
00025 double GetAvaEff();
00026 int GetSize();
00027 int GetHit();
00028 int GetHit( int padID );
00029 int GetTrack();
00030 int GetTrack( int padID );
00031 bool IsEmpty();
00032
00033
00034 void AddHit( int padID );
00035 void AddTrack( int padID );
00036 void SetEff();
00037 void SetEff( int padID, double eff );
00038 void SetSize( int size );
00039 void SetPadWidth( double width );
00040 void SetDeathFlag( int padID );
00041 void SetFiredFlag( int padID );
00042
00043 private:
00044
00045 static const int m_MaxSize = 500;
00046 static const int m_MaxWidth = 100;
00047 static const int m_DeathFlag = -1;
00048 int m_Size;
00049 int m_PadWidth;
00050
00051 vector< int > m_Hit;
00052 vector< int > m_Track;
00053 vector< double> m_Eff;
00054 }
00055
00056 #endif
00057