ARA ROOT v3.11 Software

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 doxygen 1.4.7