ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetConditions
TRT_ConditionsData
TRT_ConditionsData
DinesRtRelation.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
// $Id: DinesRtRelation.h,v 1.5 2008-12-16 14:35:47 dquarrie Exp $
12
13
#ifndef TRTCONDITDIONSDATA_DINESRTRELATION_H
14
#define TRTCONDITDIONSDATA_DINESRTRELATION_H
15
16
#include <cstring>
17
#include <math.h>
18
#include "
TRT_ConditionsData/RtRelation.h
"
19
20
namespace
TRTCond
21
{
22
25
class
DinesRtRelation
:
public
RtRelation
26
{
27
public
:
29
DinesRtRelation
() :
m_status
(
Undefined
) {
m_cal
[0] =
m_cal
[1] =
m_cal
[2] =
m_cal
[3] = 0 ; }
31
DinesRtRelation
(
const
float
*
cal
,
Status
stat =
Calibrated
)
32
:
m_status
(stat) {
set
(
cal
) ; }
33
34
DinesRtRelation
(
const
std::vector<float>&
cal
,
Status
stat =
Calibrated
)
35
:
m_status
(stat) {
set
(&(
cal
.front())) ; }
36
37
DinesRtRelation
(
const
DinesRtRelation
& rhs) :
RtRelation
(rhs) { *
this
= rhs ; }
39
virtual
~DinesRtRelation
() {}
41
virtual
RtRelation
*
clone
()
const
{
return
new
DinesRtRelation
(*
this
) ; }
42
44
DinesRtRelation
&
operator=
(
const
DinesRtRelation
& rhs) ;
45
47
bool
operator==
(
const
DinesRtRelation
& rhs)
const
{
48
return
(&rhs ==
this
) || memcmp(
m_cal
, rhs.
m_cal
, 4*
sizeof
(
float
) )==0 ;
49
}
50
52
virtual
int
status
()
const
{
return
m_status
; }
53
55
virtual
float
radius
(
float
driftime )
const
;
56
58
virtual
float
drifttime
(
float
radius
)
const
;
59
61
virtual
float
drdt
(
float
driftime )
const
;
62
64
virtual
size_t
footprint
()
const
{
return
sizeof
(*this) ; }
65
67
virtual
bool
isequal
(
const
RtRelation
& rhs)
const
;
68
70
virtual
std::ostream&
write
(std::ostream&)
const
;
71
73
virtual
std::istream&
read
(std::istream&) ;
74
76
const
float
*
cal
()
const
{
return
m_cal
; }
77
78
private
:
80
void
setstatus
(
int
status
) {
m_status
=
status
; }
81
83
void
set
(
const
float
*
cal
) { memcpy(
m_cal
,
cal
,4*
sizeof
(
float
)) ; }
84
85
private
:
86
unsigned
char
m_status
;
87
float
m_cal
[4] ;
88
} ;
89
90
}
91
92
inline
std::ostream&
operator<<
(std::ostream& os,
const
TRTCond::DinesRtRelation
& rtr) {
93
return
rtr.
write
(os) ; }
94
95
96
97
#endif
operator<<
std::ostream & operator<<(std::ostream &os, const TRTCond::DinesRtRelation &rtr)
Definition
DinesRtRelation.h:92
RtRelation.h
abstract base class for rt-relations
TRTCond::DinesRtRelation
Default rt-relation class in the TRT: a 3rd degree polynomial.
Definition
DinesRtRelation.h:26
TRTCond::DinesRtRelation::status
virtual int status() const
status flag of (calibrated) rtrelation
Definition
DinesRtRelation.h:52
TRTCond::DinesRtRelation::setstatus
void setstatus(int status)
set the status
Definition
DinesRtRelation.h:80
TRTCond::DinesRtRelation::radius
virtual float radius(float driftime) const
radius for given drifttime
Definition
DinesRtRelation.cxx:20
TRTCond::DinesRtRelation::cal
const float * cal() const
return to calibration constants
Definition
DinesRtRelation.h:76
TRTCond::DinesRtRelation::isequal
virtual bool isequal(const RtRelation &rhs) const
equality operator
Definition
DinesRtRelation.cxx:64
TRTCond::DinesRtRelation::clone
virtual RtRelation * clone() const
cloner
Definition
DinesRtRelation.h:41
TRTCond::DinesRtRelation::m_cal
float m_cal[4]
calibration constants
Definition
DinesRtRelation.h:87
TRTCond::DinesRtRelation::DinesRtRelation
DinesRtRelation(const DinesRtRelation &rhs)
constructor
Definition
DinesRtRelation.h:37
TRTCond::DinesRtRelation::DinesRtRelation
DinesRtRelation(const float *cal, Status stat=Calibrated)
constructor
Definition
DinesRtRelation.h:31
TRTCond::DinesRtRelation::operator==
bool operator==(const DinesRtRelation &rhs) const
equality operator
Definition
DinesRtRelation.h:47
TRTCond::DinesRtRelation::DinesRtRelation
DinesRtRelation()
constructor
Definition
DinesRtRelation.h:29
TRTCond::DinesRtRelation::operator=
DinesRtRelation & operator=(const DinesRtRelation &rhs)
assignment operator
Definition
DinesRtRelation.cxx:10
TRTCond::DinesRtRelation::write
virtual std::ostream & write(std::ostream &) const
write to ascii ostream
Definition
DinesRtRelation.cxx:71
TRTCond::DinesRtRelation::m_status
unsigned char m_status
status byte
Definition
DinesRtRelation.h:86
TRTCond::DinesRtRelation::DinesRtRelation
DinesRtRelation(const std::vector< float > &cal, Status stat=Calibrated)
constructor
Definition
DinesRtRelation.h:34
TRTCond::DinesRtRelation::set
void set(const float *cal)
set the calibration constants
Definition
DinesRtRelation.h:83
TRTCond::DinesRtRelation::~DinesRtRelation
virtual ~DinesRtRelation()
destructor
Definition
DinesRtRelation.h:39
TRTCond::DinesRtRelation::drdt
virtual float drdt(float driftime) const
driftvelocity for given drifttime
Definition
DinesRtRelation.cxx:33
TRTCond::DinesRtRelation::read
virtual std::istream & read(std::istream &)
read from to ascii ostream
Definition
DinesRtRelation.cxx:77
TRTCond::DinesRtRelation::footprint
virtual size_t footprint() const
memory allocated by this rt-relation
Definition
DinesRtRelation.h:64
TRTCond::DinesRtRelation::drifttime
virtual float drifttime(float radius) const
drifttime for given radius
Definition
DinesRtRelation.cxx:52
TRTCond::RtRelation
Base class for rt-relations in the TRT.
Definition
RtRelation.h:27
TRTCond::RtRelation::Status
Status
enumerates status
Definition
RtRelation.h:30
TRTCond::RtRelation::Undefined
@ Undefined
Definition
RtRelation.h:30
TRTCond::RtRelation::Calibrated
@ Calibrated
Definition
RtRelation.h:30
TRTCond::RtRelation::RtRelation
RtRelation()=default
constructors, desctructors, cloners
TRTCond
Definition
BasicRtRelation.cxx:8
Generated on
for ATLAS Offline Software by
1.17.0