AraEvent/RawAraGenericHeader.cxx
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 #include "RawAraGenericHeader.h" 00011 #include "AraRootVersion.h" 00012 #include <iostream> 00013 #include <fstream> 00014 #include <cstring> 00015 ClassImp(RawAraGenericHeader); 00016 00017 RawAraGenericHeader::RawAraGenericHeader() 00018 :softVerMajor(ARA_ROOT_MAJOR),softVerMinor(ARA_ROOT_MINOR) 00019 { 00020 //Default Constructor 00021 } 00022 00023 RawAraGenericHeader::~RawAraGenericHeader() { 00024 //Default Destructor 00025 } 00026 00027 00028 RawAraGenericHeader::RawAraGenericHeader(AtriGenericHeader_t *gHdr) 00029 :softVerMajor(ARA_ROOT_MAJOR),softVerMinor(ARA_ROOT_MINOR) 00030 { 00031 typeId=gHdr->typeId; 00032 verId=gHdr->verId; 00033 subVerId=gHdr->subVerId; 00034 stationId=gHdr->stationId; 00035 reserved=gHdr->reserved; 00036 numBytes=gHdr->numBytes; 00037 checksum=gHdr->checksum; 00038 } 00039 RawAraGenericHeader::RawAraGenericHeader(UInt_t thisStationId) 00040 :softVerMajor(ARA_ROOT_MAJOR),softVerMinor(ARA_ROOT_MINOR) 00041 { 00042 if(thisStationId==ARA_TESTBED||thisStationId==ARA_STATION1){ //Is this an Icrr type station? 00043 typeId=ARA_ICRR_EVENT_TYPE; 00044 stationId=thisStationId; 00045 verId=0; 00046 subVerId=0; 00047 reserved=0; 00048 numBytes=0; 00049 checksum=0; 00050 } 00051 } 00052 /* 00053 LSB to MSB 00054 bit 0 - filter on? 00055 bit 1-5 - filter version 00056 00057 bits 6-15 - filterFlags 00058 bit 6 - Random Filter 00059 bit 7 - Min-Bias 00060 bit 8 - Time Sequence Filter 00061 bit 9 - Track Engine Filter 00062 bit 10 - 15 - Other filters 00063 */ 00064 Int_t RawAraGenericHeader::getFilterVersion(){ 00065 if(hasFilterFlag()==0) return -1; 00066 else{ 00067 Int_t version=0; 00068 UShort_t filterFlag = getFilterFlag(); 00069 Int_t flag = filterFlag >> 1; 00070 version = flag & 0x001f; 00071 return version; 00072 } 00073 } 00074 Int_t RawAraGenericHeader::hasFilterFlag(){ 00075 //LSB is the filter on flag 00076 00077 UShort_t filterFlag = getFilterFlag(); 00078 00079 if((filterFlag & 0x0001) == 0x0001) return 1; 00080 else return 0; 00081 00082 } 00083 Int_t RawAraGenericHeader::hasBitSetInFilterFlag(Int_t bit){ 00084 if(bit > 9 || hasFilterFlag()==0){ 00085 return -1; 00086 } 00087 UShort_t filterFlag = getFilterFlag(); 00088 Int_t bitMask = (0x01) << bit; 00089 Int_t theFlag = (filterFlag >> 6) &0x3ff; 00090 00091 if( (bitMask & theFlag) == bitMask ) return 1; 00092 else return 0; 00093 00094 } 00095 00096
Generated on Fri Jul 26 15:27:35 2013 for ARA ROOT v3.11 Software by
