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

# Content
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