LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TPCHitImpl.cc
Go to the documentation of this file.
1 #include "IMPL/TPCHitImpl.h"
2 #include "Exceptions.h"
3 #include <cstring> // needed for memcpy
4 
5 namespace IMPL{
6 
8  _cellID(0) ,
9  _time(0) ,
10  _charge(0) ,
11  _quality(0) ,
12  _rawSize(0) ,
13  _rawArray(0) {
14  }
15 
18  if(_rawArray) {
19  delete[] _rawArray ;
20  }
21  }
22 
23  int TPCHitImpl::getCellID() const { return _cellID ; }
24 
25  float TPCHitImpl::getTime() const { return _time ; }
26 
27  float TPCHitImpl::getCharge() const { return _charge ; }
28 
29  int TPCHitImpl::getQuality() const { return _quality ; }
30 
31  int TPCHitImpl::getNRawDataWords() const { return _rawSize ; }
32 
33  int TPCHitImpl::getRawDataWord(int i) const {
34 
35  if( i < 0 || i >= _rawSize )
36  throw EVENT::DataNotAvailableException("TPCHitImpl::getRawDataWord: index out of range") ;
37 
38  return _rawArray[i] ;
39  }
40 
41 
42  void TPCHitImpl::setCellID(int cellID){
43  checkAccess("TPCHitImpl::setCellID") ;
44  _cellID = cellID ;
45  }
46 
47  void TPCHitImpl::setTime(float time){
48  checkAccess("TPCHitImpl::setTime") ;
49  _time = time ;
50  }
51 
52  void TPCHitImpl::setCharge(float charge){
53  checkAccess("TPCHitImpl::setCharge") ;
54  _charge = charge ;
55  }
56 
57  void TPCHitImpl::setQuality(int quality){
58  checkAccess("TPCHitImpl::setQuality") ;
59  _quality = quality ;
60  }
61 
62  void TPCHitImpl::setRawData(const int* raw, int size ){
63  checkAccess("TPCHitImpl::setRawData") ;
64  if( _rawArray != 0 ) {
65  delete[] _rawArray ;
66  _rawArray = 0 ;
67  }
68  _rawArray = new int[size] ;
69  _rawSize = size ;
70  memcpy( _rawArray, raw , size*sizeof(int) ) ;
71  }
72 
73  void TPCHitImpl::initRawArray(int size){
74  if( _rawArray != 0 ) {
75  delete[] _rawArray ;
76  _rawArray = 0 ;
77  }
78  _rawArray = new int[size] ;
79  _rawSize = size ;
80  }
81 
82 
83 } // namespace IMPL
virtual int getNRawDataWords() const
Return the number of raw data (32-bit) words stored for the hit.
Definition: TPCHitImpl.cc:31
virtual void setCellID(int cellID)
Set the cell id.
Definition: TPCHitImpl.cc:42
virtual ~TPCHitImpl()
Destructor.
Definition: TPCHitImpl.cc:17
TPCHitImpl()
Default Constructor - initializes all data to 0&#39;s.
Definition: TPCHitImpl.cc:7
virtual void setRawData(const int *raw, int size)
Set the raw data.
Definition: TPCHitImpl.cc:62
virtual int getQuality() const
Returns a quality flag for the hit.
Definition: TPCHitImpl.cc:29
EventException used for data not available.
Definition: Exceptions.h:60
virtual void initRawArray(int size)
initialize the raw data array - for faster reading
Definition: TPCHitImpl.cc:73
virtual float getCharge() const
Returns the integrated charge of the hit.
Definition: TPCHitImpl.cc:27
virtual void setTime(float time)
Set the time.
Definition: TPCHitImpl.cc:47
virtual void setQuality(int quality)
Set the cell quality word.
Definition: TPCHitImpl.cc:57
virtual void setCharge(float charge)
Set the charge.
Definition: TPCHitImpl.cc:52
virtual float getTime() const
Returns the time of the hit.
Definition: TPCHitImpl.cc:25
virtual int getCellID() const
Returns the detector specific cell id.
Definition: TPCHitImpl.cc:23
virtual int getRawDataWord(int i) const
Return the raw data (32-bit) word at i.
Definition: TPCHitImpl.cc:33