ATLAS Offline Software
Loading...
Searching...
No Matches
TIDARoi.h
Go to the documentation of this file.
1/* emacs: this is -*- c++ -*- */
13
14
15#ifndef TRIGINDETANALYSIS_TRACKROI_H
16#define TRIGINDETANALYSIS_TRACKROI_H
17
18#include <iostream>
19#include <vector>
20#include <string>
21
22#include "TObject.h"
23
28
29namespace TIDA {
30
31class Roi : public TObject {
32
33public:
34
35 Roi();
36 Roi(const TIDARoiDescriptor& roi);
37
38 virtual ~Roi();
39
40
42 const TIDARoiDescriptor& roi() const { return m_roi; }
43 TIDARoiDescriptor& roi() { return m_roi; }
44
46 void addTracks( const std::vector<TIDA::Track>& tracks) {
48 }
49
50 void addTracks( const std::vector<TIDA::Track*>& trackp);
51
52 const std::vector<TIDA::Track>& tracks() const { return m_tracks; }
53 std::vector<TIDA::Track>& tracks() { return m_tracks; }
54
56 const std::vector<TIDA::Vertex>& vertices() const { return m_vertices; }
57 std::vector<TIDA::Vertex>& vertices() { return m_vertices; }
58 void addVertex( const TIDA::Vertex& v) { m_vertices.push_back(v); }
59 void addVertices( const std::vector<TIDA::Vertex>& v) { m_vertices = v; }
60
62 const std::vector<TrackTrigObject>& objects() const { return m_objects; }
63 std::vector<TrackTrigObject>& objects() { return m_objects; }
64 void addObject( const TrackTrigObject& o) { m_objects.push_back(o); }
65 void addObjects( const std::vector<TrackTrigObject>& ob) { m_objects.insert( m_objects.end(), ob.begin(), ob.end() ); }
66
68 const std::vector<double>& user() const { return m_user; }
69 std::vector<double>& user() { return m_user; }
70 void addUserData( const std::vector<double>& user) { m_user = user; }
71
72
74 void clear() {
75 m_tracks.clear();
76 m_user.clear();
77 m_objects.clear();
78 m_vertices.clear();
79 }
80
81private:
82
84
85 std::vector<TIDA::Track> m_tracks;
86 std::vector<TIDA::Vertex> m_vertices;
87
88
89 std::vector<double> m_user;
90 std::vector<TrackTrigObject> m_objects;
91
92 ClassDef(TIDA::Roi,2)
93
94};
95
96}
97
98
99inline std::ostream& operator<<( std::ostream& s, const TIDA::Roi& r ) {
100 s << "\tRoi " << r.roi();
101 for ( unsigned i=0 ; i<r.tracks().size() ; i++ ) s << "\n\t\t\t" << r.tracks()[i];
102 for ( unsigned i=0 ; i<r.user().size() ; i++ ) s << "\n\t\t\t" << r.user()[i];
103 for ( unsigned i=0 ; i<r.objects().size() ; i++ ) s << "\n\t\t\t" << r.objects()[i];
104 s << "\tvertices: " << r.vertices().size();
105 for ( unsigned i=0 ; i<r.vertices().size() ; i++ ) s << "\n\t\t\t" << r.vertices()[i];
106 return s;
107}
108
109
110#endif // TRIGINDETANALYSIS_TRACKROI_H
111
112
113
114
115
116
117
118
119
120
std::ostream & operator<<(std::ostream &s, const TIDA::Roi &r)
Definition TIDARoi.h:99
Describes the Region of Ineterest geometry It has basically 8 parameters.
void addObjects(const std::vector< TrackTrigObject > &ob)
Definition TIDARoi.h:65
const TIDARoiDescriptor & roi() const
access the roi information
Definition TIDARoi.h:42
const std::vector< TIDA::Track > & tracks() const
Definition TIDARoi.h:52
void addObject(const TrackTrigObject &o)
Definition TIDARoi.h:64
std::vector< TrackTrigObject > & objects()
Definition TIDARoi.h:63
TIDARoiDescriptor & roi()
Definition TIDARoi.h:43
std::vector< TIDA::Track > & tracks()
Definition TIDARoi.h:53
void addVertices(const std::vector< TIDA::Vertex > &v)
Definition TIDARoi.h:59
void addUserData(const std::vector< double > &user)
Definition TIDARoi.h:70
std::vector< TrackTrigObject > m_objects
user vector
Definition TIDARoi.h:90
const std::vector< double > & user() const
access the user data
Definition TIDARoi.h:68
std::vector< TIDA::Track > m_tracks
roi parameters
Definition TIDARoi.h:85
std::vector< TIDA::Vertex > & vertices()
Definition TIDARoi.h:57
void clear()
clean out everything
Definition TIDARoi.h:74
void addVertex(const TIDA::Vertex &v)
Definition TIDARoi.h:58
const std::vector< TrackTrigObject > & objects() const
access the generic objects
Definition TIDARoi.h:62
std::vector< TIDA::Vertex > m_vertices
tracks in this roi
Definition TIDARoi.h:86
std::vector< double > m_user
vertices
Definition TIDARoi.h:89
TIDARoiDescriptor m_roi
Definition TIDARoi.h:83
virtual ~Roi()
Definition TIDARoi.cxx:19
void addTracks(const std::vector< TIDA::Track > &tracks)
accessors for the track vector
Definition TIDARoi.h:46
const std::vector< TIDA::Vertex > & vertices() const
access the vertices
Definition TIDARoi.h:56
std::vector< double > & user()
Definition TIDARoi.h:69
int r
Definition globals.cxx:22
Test for xAOD.