ATLAS Offline Software
Loading...
Searching...
No Matches
IntersectionPos.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef _VrtSecInclusive_IntersectionPos_H
6#define _VrtSecInclusive_IntersectionPos_H
7
8
9// Normal STL and physical vectors
10#include <vector>
11#include <string>
12
13class TTree;
14
15namespace VKalVrtAthena {
16
17 //------------------------------------------------------------
19 public:
21 virtual ~IntersectionPos(){};
22 virtual void clear() = 0;
23 virtual void setBranchAddress( TTree*, const char* collectionName = "RecoTrk" ) = 0;
24 virtual int bec() = 0;
25 virtual const std::string& name() = 0;
26 virtual std::vector<double>* x() = 0;
27 virtual std::vector<double>* y() = 0;
28 virtual std::vector<double>* z() = 0;
29 enum { barrel, endcap };
30 };
31
32
33 //------------------------------------------------------------
35 public:
36 IntersectionPos_barrel(const char* name, const double& r);
40 void clear();
41 void setBranchAddress( TTree*, const char* collectionName = "RecoTrk" );
42 int bec();
43 inline const std::string& name() { return m_name; }
44 inline std::vector<double>* x() { return m_x; }
45 inline std::vector<double>* y() { return m_y; }
46 inline std::vector<double>* z() { return m_z; }
47 inline const double& radius() { return m_radius; }
48 private:
49 std::string m_name;
50 std::vector<double>* m_x;
51 std::vector<double>* m_y;
52 std::vector<double>* m_z;
53 const double m_radius;
54 };
55
56
57 //------------------------------------------------------------
59 public:
60 IntersectionPos_endcap(const char* name, const double& zpos, const double& rmin, const double& rmax);
64 void clear();
65 void setBranchAddress( TTree*, const char* collectionName = "RecoTrk" );
66 int bec();
67 inline const std::string& name() { return m_name; }
68 inline std::vector<double>* x() { return m_x; }
69 inline std::vector<double>* y() { return m_y; }
70 inline std::vector<double>* z() { return m_z; }
71 inline const double& zpos() { return m_zpos; }
72 inline const double& rmin() { return m_rmin; }
73 inline const double& rmax() { return m_rmax; }
74 private:
75 std::string m_name;
76 std::vector<double>* m_x;
77 std::vector<double>* m_y;
78 std::vector<double>* m_z;
79 const double m_zpos;
80 const double m_rmin;
81 const double m_rmax;
82 };
83
84} // end of namespace bracket
85
86
87#endif /* _VrtSecInclusive_IntersectionPos_H */
IntersectionPos_barrel(const IntersectionPos_barrel &)=delete
IntersectionPos_barrel(const char *name, const double &r)
IntersectionPos_barrel & operator=(const IntersectionPos_barrel &)=delete
void setBranchAddress(TTree *, const char *collectionName="RecoTrk")
void setBranchAddress(TTree *, const char *collectionName="RecoTrk")
IntersectionPos_endcap(const IntersectionPos_endcap &)=delete
IntersectionPos_endcap(const char *name, const double &zpos, const double &rmin, const double &rmax)
IntersectionPos_endcap & operator=(const IntersectionPos_endcap &)=delete
virtual std::vector< double > * y()=0
virtual std::vector< double > * z()=0
virtual const std::string & name()=0
virtual void setBranchAddress(TTree *, const char *collectionName="RecoTrk")=0
virtual std::vector< double > * x()=0
int r
Definition globals.cxx:22