BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RecTrackList/include/RecTrackList/RecTrackList.h
Go to the documentation of this file.
1#ifndef RECTRACKLIST_H
2#define RECTRACKLIST_H
3
4#include "EmcRecEventModel/RecEmcShower.h"
5#include "ExtEvent/RecExtTrack.h"
6#include "GaudiKernel/ContainedObject.h"
7#include "GaudiKernel/ObjectVector.h"
8#include "GaudiKernel/SmartRef.h"
9#include "MdcRecEvent/RecMdcDedx.h"
10#include "MdcRecEvent/RecMdcKalTrack.h"
11#include "MdcRecEvent/RecMdcTrack.h"
12#include "MucRecEvent/RecMucTrack.h"
13#include "TofRecEvent/RecTofTrack.h"
14
15using namespace EventModel;
16
17extern const CLID& CLID_RecTrackList;
18
19class RecTrackList : virtual public ContainedObject {
20public:
21 virtual const CLID& clID() const { return RecTrackList::classID(); }
22 static const CLID& classID() { return CLID_RecTrackList; }
23
26
27 RecTrackList( const RecTrackList& );
28
29 bool IsMdcTrkValid() { return ( myMdcTrk != 0 ); }
30 bool IsMdcKalTrkValid() { return ( myKalTrk != 0 ); }
31 bool IsDedxValid() { return ( myMdcDedx != 0 ); }
32 bool IsExtTrkValid() { return ( myExtTrk != 0 ); }
33 bool IsTofTrkValid() { return ( myTofTrk != 0 ); }
34 bool IsEmcTrkValid() { return ( myRecEmcShower != 0 ); }
35 bool IsMucTrkValid() { return ( myMucTrk != 0 ); }
36
37 int GetTrkId() { return myTrkId; }
38 RecMdcTrack* MdcTrk() { return myMdcTrk; }
39 RecMdcKalTrack* MdcKalTrk() { return myKalTrk; }
40 RecMdcDedx* DedxTrk() { return myMdcDedx; }
41 RecExtTrack* ExtTrk() { return myExtTrk; }
42 RecTofTrack* TofTrk() { return myTofTrk; }
43 RecEmcShower* EmcTrk() { return myRecEmcShower; }
44 RecMucTrack* MucTrk() { return myMucTrk; }
45
46 void setTrackID( const int trkID ) { myTrkId = trkID; }
47 void setMdcTrk( RecMdcTrack* trk ) { myMdcTrk = trk; }
48 void setMdcKalTrk( RecMdcKalTrack* trk ) { myKalTrk = trk; }
49 void setDedxTrk( RecMdcDedx* trk ) { myMdcDedx = trk; }
50 void setExtTrk( RecExtTrack* trk ) { myExtTrk = trk; }
51 void setTofTrk( RecTofTrack* trk ) { myTofTrk = trk; }
52 void setEmcTrk( RecEmcShower* trk ) { myRecEmcShower = trk; }
53 void setMucTrk( RecMucTrack* trk ) { myMucTrk = trk; }
54
55 int MdcTrkIdx() { return myMdcTrkIdx; }
56 int MdcKalTrkIdx() { return myKalTrkIdx; }
57 int DedxTrkIdx() { return myMdcDedxIdx; }
58 int ExtTrkIdx() { return myExtTrkIdx; }
59 int TofTrkIdx() { return myTofTrkIdx; }
60 int EmcTrkIdx() { return myRecEmcShowerIdx; }
61 int MucTrkIdx() { return myMucTrkIdx; }
62
63 void setMdcTrkIdx( int idx ) { myMdcTrkIdx = idx; }
64 void setMdcKalTrkIdx( int idx ) { myKalTrkIdx = idx; }
65 void setDedxTrkIdx( int idx ) { myMdcDedxIdx = idx; }
66 void setExtTrkIdx( int idx ) { myExtTrkIdx = idx; }
67 void setTofTrkIdx( int idx ) { myTofTrkIdx = idx; }
68 void setEmcTrkIdx( int idx ) { myRecEmcShowerIdx = idx; }
69 void setMucTrkIdx( int idx ) { myMucTrkIdx = idx; }
70
72
73private:
74 int myTrkId;
75 SmartRef<RecMdcTrack> myMdcTrk;
76 SmartRef<RecMdcKalTrack> myKalTrk;
77 SmartRef<RecMdcDedx> myMdcDedx;
78 SmartRef<RecExtTrack> myExtTrk;
79 SmartRef<RecTofTrack> myTofTrk;
80 SmartRef<RecEmcShower> myRecEmcShower;
81 SmartRef<RecMucTrack> myMucTrk;
82
83 int myMdcTrkIdx;
84 int myKalTrkIdx;
85 int myMdcDedxIdx;
86 int myExtTrkIdx;
87 int myTofTrkIdx;
88 int myRecEmcShowerIdx;
89 int myMucTrkIdx;
90};
91
92typedef ObjectVector<RecTrackList> RecTrackListCol;
93
94typedef RecTrackListCol::iterator RecTrackIterator;
95typedef RecMdcTrackCol::iterator RecMdcTrackIterator;
96typedef RecMdcKalTrackCol::iterator RecMdcKalTrackIterator;
97
98#endif
ObjectVector< RecTrackList > RecTrackListCol
const CLID & CLID_RecTrackList
RecMdcKalTrackCol::iterator RecMdcKalTrackIterator
RecMdcTrackCol::iterator RecMdcTrackIterator
RecTrackListCol::iterator RecTrackIterator
const CLID & CLID_RecTrackList
RecTrackList & operator=(const RecTrackList &)