1 |
#ifndef L1RpcTriggerAnalysis_TrackAtSurface_H
|
2 |
#define L1RpcTriggerAnalysis_TrackAtSurface_H
|
3 |
|
4 |
#include "TrackingTools/PatternTools/interface/Trajectory.h"
|
5 |
#include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
|
6 |
|
7 |
namespace edm {class Event; class EventSetup; }
|
8 |
namespace reco { class Muon; }
|
9 |
class RPCDetId;
|
10 |
|
11 |
class TrackAtSurface {
|
12 |
public:
|
13 |
//use that if possible
|
14 |
TrackAtSurface( const reco::Muon* mu, const edm::Event &ev, const edm::EventSetup &es);
|
15 |
|
16 |
//note: if possible use the constructor with muon (here no access to trajectory)
|
17 |
TrackAtSurface( const TrajectoryStateOnSurface &state, const edm::Event &ev, const edm::EventSetup &es);
|
18 |
|
19 |
TrajectoryStateOnSurface atDetFromTrack( const RPCDetId& rpcDet) const;
|
20 |
TrajectoryStateOnSurface atDetFromClose( const RPCDetId& rpcDet, const GlobalPoint& point) const;
|
21 |
TrajectoryStateOnSurface atPoint( const GlobalPoint& point) const;
|
22 |
|
23 |
//note: propagation "Along from tsos"
|
24 |
TrajectoryStateOnSurface atStation2( float eta) const;
|
25 |
private:
|
26 |
Trajectory theTrajectory;
|
27 |
TrajectoryStateOnSurface theState;
|
28 |
const edm::Event & theEv;
|
29 |
const edm::EventSetup & theEs;
|
30 |
};
|
31 |
#endif
|