ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/kbunkow/L1MuAnalysis/interface/L1MuAnalysisIMuCandidate.h
Revision: 1.1
Committed: Fri Oct 12 16:59:41 2012 UTC (12 years, 6 months ago) by kbunkow
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
initiail commit

File Contents

# User Rev Content
1 kbunkow 1.1 #ifndef __L1MuAnalysis_IMuCandidate_H__
2     #define __L1MuAnalysis_IMuCandidate_H__
3     /*
4     * L1MuAnalysisIMuCandidate.h
5     *
6     * Created on: October 12, 2012
7     * Author: Karol Bunkowski
8     */
9    
10     #include <boost/shared_ptr.hpp>
11     #include <vector>
12     #include <string>
13    
14     namespace L1MuAnalysis
15     {
16     class MuConsts {
17     public:
18     enum Subsystem {
19     GMT = 0,
20     DT = 1,
21     CSC = 2,
22     RPCB = 3,
23     RPCF = 4
24     };
25    
26     static const unsigned int SUBSYS_CNT = 5;
27    
28     static const std::string SubsystemStr[SUBSYS_CNT];
29    
30    
31     static std::vector<std::string> subsystemStrs_;
32    
33     static const std::vector<std::string>& getSubsystemStrs();
34     };
35    
36     class IMuCandidate {
37     public:
38     virtual ~IMuCandidate() {};
39    
40     virtual int getQual() = 0;
41    
42     virtual float getPt() = 0;
43    
44     virtual int getCha() = 0;
45    
46     virtual float getEta() = 0;
47    
48     virtual float getPhi() = 0;
49    
50     virtual MuConsts::Subsystem getSubsys() = 0;
51    
52     /**
53     * only for DT
54     * @param bx
55     * @param idx
56     * @return
57     */
58     virtual int getFineEta() = 0;
59    
60     virtual void setCha(int cha) = 0;
61    
62     virtual void setEta(float eta) = 0;
63    
64     virtual void setPhi(float phi) = 0;
65    
66     virtual void setPt(float pt) = 0;
67    
68     virtual void setQual(int qual) = 0;
69    
70     virtual void setSubsys(MuConsts::Subsystem subsys) = 0;
71    
72     virtual void setFineEta(int fineEta) = 0;
73    
74     virtual std::string toString() = 0;
75    
76     };
77    
78     typedef boost::shared_ptr<IMuCandidate> MuCandidatePtr;
79    
80     class IGmtCandidate: public IMuCandidate {
81     public:
82     virtual ~IGmtCandidate() {};
83    
84     virtual MuCandidatePtr getDtCsCcand() const = 0;
85    
86     virtual MuCandidatePtr getRpcCand() const = 0;
87    
88     virtual void setDtCscCand(MuCandidatePtr dtCscCand) = 0;
89    
90     virtual void setRpcCand(MuCandidatePtr rpcCand) = 0;
91     };
92    
93    
94     typedef std::vector<MuCandidatePtr> MuCandidateVec;
95    
96     }
97     #endif