ATLAS Offline Software
Loading...
Searching...
No Matches
BinnedRtRelation.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4
12
13// $Id: BinnedRtRelation.h,v 1.2 2007-06-13 11:10:40 hansenph Exp $
14
15#ifndef TRTCONDITDIONSDATA_BINNEDRTRELATION_H
16#define TRTCONDITDIONSDATA_BINNEDRTRELATION_H
17
19#include <vector>
20
21namespace TRTCond
22{
23
27 {
28 public:
31
33 BinnedRtRelation(float tmin, float tmax, const std::vector<float>& values, Status stat = Calibrated)
35
37 BinnedRtRelation(const BinnedRtRelation& rhs) = default;
38
41
43 virtual ~BinnedRtRelation() {}
44
46 virtual RtRelation* clone() const { return new BinnedRtRelation(*this) ; }
47
49 virtual int status() const { return m_status ; }
50
52 virtual float radius( float driftime ) const ;
53
55 virtual float drifttime( float radius ) const ;
56
58 virtual float drdt( float driftime ) const ;
59
61 virtual size_t footprint() const { return sizeof(*this) + m_values.size()*sizeof(float) ; }
62
64 virtual bool isequal( const RtRelation& rhs) const ;
65
67 virtual std::ostream& write(std::ostream&) const ;
68
70 virtual std::istream& read(std::istream&) ;
71
73 float tmin() const { return m_tmin ; }
75 float tmax() const { return m_tmax ; }
77 const std::vector<float>& values() const { return m_values ; }
78
79 private:
81 float binsize() const { return (m_tmax - m_tmin)/(m_values.size()-1) ; }
82
83 private:
84 unsigned char m_status ;
85 float m_tmin;
86 float m_tmax ;
87 std::vector<float> m_values;
88 } ;
89}
90
91inline std::ostream& operator<<(std::ostream& os, const TRTCond::BinnedRtRelation& rtr) {
92 return rtr.write(os) ; }
93
94#endif
std::ostream & operator<<(std::ostream &os, const TRTCond::BinnedRtRelation &rtr)
abstract base class for rt-relations
virtual size_t footprint() const
memory allocated by this rt-relation
const std::vector< float > & values() const
get access to vector of radii for each drifttime bin
virtual std::istream & read(std::istream &)
read from to ascii ostream
BinnedRtRelation(const BinnedRtRelation &rhs)=default
copy constructor
std::vector< float > m_values
number of elements
virtual bool isequal(const RtRelation &rhs) const
equality operator
float m_tmin
minimum drifttime
float m_tmax
maximum drifttime
float tmax() const
get access to maximum drifttime
float binsize() const
get access to bin size
virtual float drdt(float driftime) const
driftvelocity for given drifttime
virtual int status() const
status flag of (calibrated) rtrelation
float tmin() const
get access to minimum drifttime
unsigned char m_status
status byte
BinnedRtRelation & operator=(const BinnedRtRelation &rhs)=default
assignment
virtual RtRelation * clone() const
clone function
virtual float radius(float driftime) const
radius for given drifttime
virtual ~BinnedRtRelation()
desctructor
virtual std::ostream & write(std::ostream &) const
write to ascii ostream
BinnedRtRelation(float tmin, float tmax, const std::vector< float > &values, Status stat=Calibrated)
normal constructor
virtual float drifttime(float radius) const
drifttime for given radius
BinnedRtRelation()
default constructor
Base class for rt-relations in the TRT.
Definition RtRelation.h:27
Status
enumerates status
Definition RtRelation.h:30
RtRelation()=default
constructors, desctructors, cloners