00001
00002 #ifndef UTIL_ILDConf_H
00003 #define UTIL_ILDConf_H 1
00004
00005 #include <string>
00006 #include "CellIDEncoder.h"
00007 #include "CellIDDecoder.h"
00008 #include "LCTrackerConf.h"
00009
00010
00011 #include "BitSet32.h"
00012
00013
00014
00015
00016 namespace UTIL {
00017
00018
00019
00020
00027 struct ILDCellID0 {
00028
00041 static std::string encoder_string ;
00042
00045 static const unsigned subdet ;
00046
00049 static const unsigned side ;
00050
00053 static const unsigned layer ;
00054
00056 static const unsigned module ;
00057
00059 static const unsigned sensor ;
00060
00061 };
00062
00063
00064
00068 template <class T>
00069 class ILDCellIDEncoder : public CellIDEncoder<T> {
00070
00071 public:
00072
00075 ILDCellIDEncoder( EVENT::LCCollection* col) :
00076 CellIDEncoder<T>( ILDCellID0::encoder_string, col ) {}
00077
00078
00082 ILDCellIDEncoder( const std::string& cellIDEncoding , EVENT::LCCollection* col) :
00083 CellIDEncoder<T>( std::string( ILDCellID0::encoder_string + "," + cellIDEncoding ) , col ) {
00084
00085 if( cellIDEncoding.size() == 0 ){
00086 throw EVENT::Exception(" ILDCellIDEncoder::ILDCellIDEncoder: cannot initilize with empty string ! " ) ;
00087 }
00088 }
00089 } ;
00090
00091
00092
00093
00094
00101 struct ILDDetID{
00102
00103
00104 static const int NOTUSED ;
00105 static const int VXD ;
00106 static const int SIT ;
00107 static const int FTD ;
00108 static const int TPC ;
00109 static const int SET ;
00110 static const int ETD ;
00111
00112 static const int ECAL ;
00113 static const int ECAL_PLUG ;
00114 static const int HCAL ;
00115 static const int HCAL_RING ;
00116 static const int LCAL ;
00117 static const int BCAL ;
00118 static const int LHCAL ;
00119 static const int YOKE ;
00120 static const int COIL ;
00121 static const int ECAL_ENDCAP ;
00122 static const int HCAL_ENDCAP ;
00123 static const int YOKE_ENDCAP ;
00124
00125 static const int bwd ;
00126 static const int barrel ;
00127 static const int fwd ;
00128 } ;
00129
00136 struct ILDTrkHitTypeBit{
00137 static const int COMPOSITE_SPACEPOINT ;
00138 static const int ONE_DIMENSIONAL;
00139
00140 } ;
00141
00147 struct ILDTrkHitQualityBit{
00148 static const int USED_IN_FIT ;
00149 static const int USED_IN_TRACK ;
00150 static const int DOUBLE_HIT_CANDIDATE ;
00151 static const int GOOD ;
00152 } ;
00153
00154
00155
00156 }
00157 #endif // ifndef UTIL_ILDConf_H