ATLAS Offline Software
Loading...
Searching...
No Matches
RPCdigit.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 RPCDIGIT_H
6#define RPCDIGIT_H
7
8#include <list>
9
12//#include "RPCgeometry/RPCGeometry.h"
14
16{
17 private:
19
20 float m_x;
21 float m_y;
22 float m_z;
23
24 float m_time;
25
28
29 std::list<unsigned int> m_codes;
30
31 public:
32 RPCdigit();
33 RPCdigit(const std::string&,int,unsigned int, float vec[4]);
34
35 /*
36 RPCdigit(std::string,int,unsigned int, float vec[4],
37 const RPCGeometry* rpcgeo);
38 RPCdigit(std::string,int,std::list<unsigned int>,float,
39 const RPCGeometry* rpcgeo);
40 */
41 RPCdigit(const RPCdigit&);
42 virtual ~RPCdigit() {}
43
45
46 bool operator==(const RPCdigit&) const;
47
48 const RPCdecoder& decoding(void) const {return m_coding;}
49 //const RPCGeometry* rpcgeo(void) const {return m_rpcgeo;}
50 const std::list<unsigned int>& codes(void) const {return m_codes;}
51
52 float time (void) const {return m_time;}
53 float x(void) const {return m_x;}
54 float y(void) const {return m_y;}
55 float z(void) const {return m_z;}
56
57 void xyz(float vec[3]) const;
58 bool radius(float&) const;
59 bool theta(float&) const;
60 bool eta(float&) const;
61 bool phi(float&) const;
62
63 bool station_radius(float&) const;
64 bool station_eta(float&) const;
65 bool station_phi(float&) const;
66
67
68 //bool set_to_chamber(const int rpc_index);
69
70 virtual int particle_code(void) const {return 0;}
71 virtual int process_type(void) const {return 0;}
72 virtual int track_number(void) const {return 0;}
73
74 virtual const MuonSimuTrack* muon(void) const {return 0;}
75
76 void Print(std::ostream&,bool) const;
77};
78
79
80inline bool
81RPCdigit::station_radius(float& rad) const
82{
84 {
85 rad = m_station_radius;
86 return true;
87 }
88 return false;
89}
90
91
92inline bool
94{
95 if(m_station_phi >= 0.)
96 {
98 return true;
99 }
100 return false;
101}
102
103
104
105
106template <class X> X& operator<<(X& stream,const RPCdigit& data)
107{
108 std::ostringstream display;
109 data.Print(display,false);
110 stream << display.str();
111 return stream;
112}
113
114#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Scalar theta() const
theta method
std::vector< size_t > vec
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
X & operator<<(X &stream, const RPCdigit &data)
Definition RPCdigit.h:106
#define xyz
void Print(std::ostream &, bool) const
Definition RPCdigit.cxx:238
float z(void) const
Definition RPCdigit.h:55
float m_time
Definition RPCdigit.h:24
std::list< unsigned int > m_codes
Definition RPCdigit.h:29
bool operator==(const RPCdigit &) const
Definition RPCdigit.cxx:169
const std::list< unsigned int > & codes(void) const
Definition RPCdigit.h:50
float time(void) const
Definition RPCdigit.h:52
float m_y
Definition RPCdigit.h:21
RPCdecoder m_coding
Definition RPCdigit.h:18
virtual const MuonSimuTrack * muon(void) const
Definition RPCdigit.h:74
const RPCdecoder & decoding(void) const
Definition RPCdigit.h:48
bool radius(float &) const
Definition RPCdigit.cxx:182
RPCdigit operator=(const RPCdigit &)
Definition RPCdigit.cxx:142
float m_x
Definition RPCdigit.h:20
bool station_phi(float &) const
Definition RPCdigit.h:93
virtual ~RPCdigit()
Definition RPCdigit.h:42
bool station_eta(float &) const
Definition RPCdigit.cxx:227
virtual int track_number(void) const
Definition RPCdigit.h:72
float m_station_phi
Definition RPCdigit.h:27
float m_station_radius
Definition RPCdigit.h:26
float m_z
Definition RPCdigit.h:22
virtual int process_type(void) const
Definition RPCdigit.h:71
bool phi(float &) const
Definition RPCdigit.cxx:217
virtual int particle_code(void) const
Definition RPCdigit.h:70
bool station_radius(float &) const
Definition RPCdigit.h:81
float y(void) const
Definition RPCdigit.h:54
float x(void) const
Definition RPCdigit.h:53
RPCtrigDataObject(int, const std::string &)