LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ILDConf.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 #ifndef UTIL_ILDConf_H
3 #define UTIL_ILDConf_H 1
4 
5 #include <string>
6 #include "CellIDEncoder.h"
7 #include "CellIDDecoder.h"
8 #include "LCTrackerConf.h"
9 
10 
11 #include "BitSet32.h"
12 
13 // Some useful definitions that are used in the ILD software framework - in particular for
14 // encoding and decoding cellIDs.
15 
16 namespace UTIL {
17 
18 
19 
20 
27  struct ILDCellID0 {
28 
41  static const std::string encoder_string ;
42 
45  static const unsigned subdet ;
46 
49  static const unsigned side ;
50 
53  static const unsigned layer ;
54 
56  static const unsigned module ;
57 
59  static const unsigned sensor ;
60 
61  };
62 
63 
64 
68  template <class T>
69  class ILDCellIDEncoder : public CellIDEncoder<T> {
70 
71  public:
72 
76  CellIDEncoder<T>( ILDCellID0::encoder_string, col ) {}
77 
78 
82  ILDCellIDEncoder( const std::string& cellIDEncoding , EVENT::LCCollection* col) :
83  CellIDEncoder<T>( std::string( ILDCellID0::encoder_string + "," + cellIDEncoding ) , col ) {
84 
85  if( cellIDEncoding.size() == 0 ){
86  throw EVENT::Exception(" ILDCellIDEncoder::ILDCellIDEncoder: cannot initilize with empty string ! " ) ;
87  }
88  }
89  } ;
90 
91 
92 
93 
94 
101  struct ILDDetID{
102 
103 
104  static const int NOTUSED ;
105  static const int VXD ;
106  static const int SIT ;
107  static const int FTD ;
108  static const int TPC ;
109  static const int SET ;
110  static const int ETD ;
111 
112  static const int ECAL ;
113  static const int ECAL_PLUG ;
114  static const int HCAL ;
115  static const int HCAL_RING ;
116  static const int LCAL ;
117  static const int BCAL ;
118  static const int LHCAL ;
119  static const int YOKE ;
120  static const int COIL ;
121  static const int ECAL_ENDCAP ;
122  static const int HCAL_ENDCAP ;
123  static const int YOKE_ENDCAP ;
124 
125  static const int bwd ;
126  static const int barrel ;
127  static const int fwd ;
128  } ;
129 
137  static const int COMPOSITE_SPACEPOINT ; // i.e. a 3D space-point composed of two independent strip measurements
138  static const int ONE_DIMENSIONAL; // e.g. a strip measurment
139 
140  } ;
141 
148  static const int USED_IN_FIT ;
149  static const int USED_IN_TRACK ;
150  static const int DOUBLE_HIT_CANDIDATE ;
151  static const int GOOD ;
152  } ;
153 
154 
155 
156 } // namespace UTIL
157 #endif // ifndef UTIL_ILDConf_H
Base exception class for LCIO - all other exceptions extend this.
Definition: Exceptions.h:21
static const int NOTUSED
Definition: ILDConf.h:104
static const int fwd
Definition: ILDConf.h:127
static const int SIT
Definition: ILDConf.h:106
static const int COIL
Definition: ILDConf.h:120
ILDCellIDEncoder(EVENT::LCCollection *col)
Constructor for using the canonical cellID0 as defined in ILDCellID0::encoder_string - cellID1 will n...
Definition: ILDConf.h:75
Define integer constants for bits of the the lcio tracker hit type used in the context of ILD reconst...
Definition: ILDConf.h:136
static const int LHCAL
Definition: ILDConf.h:118
static const unsigned layer
Index of the field layer in encoder_string - local sub detector layer ID starting from 0 going away f...
Definition: ILDConf.h:53
static const int ECAL_ENDCAP
Definition: ILDConf.h:121
static const int FTD
Definition: ILDConf.h:107
static const unsigned side
Index of the field side in encoder_string - one of DetID::bwd, DetID::barrel, DetID::fwd.
Definition: ILDConf.h:49
static const int HCAL_ENDCAP
Definition: ILDConf.h:122
static const int YOKE
Definition: ILDConf.h:119
static const unsigned subdet
Index of the field subdet in encoder_string - sub detector Id as defined in DetID, e.g.
Definition: ILDConf.h:45
static const int USED_IN_FIT
Definition: ILDConf.h:148
Define integer constants for identifying ILD sub detectors.
Definition: ILDConf.h:101
STL class.
static const int barrel
Definition: ILDConf.h:126
static const int GOOD
Definition: ILDConf.h:151
static const int HCAL
Definition: ILDConf.h:114
static const int bwd
Definition: ILDConf.h:125
static const int VXD
Definition: ILDConf.h:105
static const unsigned sensor
Index of the field sensor in encoder_string - sensor ID as defined for the given subdetetor module...
Definition: ILDConf.h:59
Define integer constants for bits of the the lcio tracker hit quality used in the context of ILD reco...
Definition: ILDConf.h:147
static const std::string encoder_string
The canonical encoding string to be used for writing the CellID0 with the CellIDEncoder&lt;T&gt;: ...
Definition: ILDConf.h:41
Specialization for SimTrackerHits that have only one cellID.
static const int USED_IN_TRACK
Definition: ILDConf.h:149
T size(T...args)
static const int SET
Definition: ILDConf.h:109
The generic collection used in LCIO.
Definition: LCCollection.h:29
static const int DOUBLE_HIT_CANDIDATE
Definition: ILDConf.h:150
static const unsigned module
Index of the field module in encoder_string - module ID as defined for the given subdetetor.
Definition: ILDConf.h:56
static const int HCAL_RING
Definition: ILDConf.h:115
Special wrapper to the CellIDEncoder&lt;T&gt; that enforces cellID0 to use the encoder string defined in IL...
Definition: ILDConf.h:69
static const int ECAL_PLUG
Definition: ILDConf.h:113
static const int ECAL
Definition: ILDConf.h:112
static const int YOKE_ENDCAP
Definition: ILDConf.h:123
static const int BCAL
Definition: ILDConf.h:117
ILDCellIDEncoder(const std::string &cellIDEncoding, EVENT::LCCollection *col)
Constructor that prepends given ILDCellID0::encoder_string to the given encoding string.
Definition: ILDConf.h:82
static const int ETD
Definition: ILDConf.h:110
static const int COMPOSITE_SPACEPOINT
Definition: ILDConf.h:137
static const int ONE_DIMENSIONAL
Definition: ILDConf.h:138
static const int TPC
Definition: ILDConf.h:108
static const int LCAL
Definition: ILDConf.h:116
Helper class to define constants for the canonical encoding of the CellID0 in tracking sub detectors ...
Definition: ILDConf.h:27