10 #ifndef PennToOffline_h 11 #define PennToOffline_h 14 #include "lbne-raw-data/Overlays/PennMilliSliceFragment.hh" 15 #include "artdaq-core/Data/Fragment.hh" 41 void CollectTrigger(lbne::PennMicroSlice::Payload_Header *header,lbne::PennMicroSlice::Payload_Trigger *
trigger);
43 typedef std::pair<lbne::PennMicroSlice::Payload_Header::short_nova_timestamp_t, std::bitset<TypeSizes::TriggerWordSize> >
PTBTrigger;
47 std::vector<raw::ExternalTrigger>
PennFragmentToExternalTrigger( artdaq::Fragments
const& Fragments, std::map<int,int>& channelMap, lbne::PennMicroSlice::Payload_Timestamp *&FirstPTBTimestamp );
51 lbne::PennMicroSlice::Payload_Header*& word_header,
52 lbne::PennMicroSlice::Payload_Timestamp*
const& previous_timestamp,
53 lbne::PennMicroSlice::Payload_Timestamp*& future_timestamp,
54 lbne::PennMicroSlice::Payload_Header*& future_timestamp_header,
55 std::vector<lbne::PennMicroSlice::Payload_Timestamp::timestamp_t> &TimeVector );
63 std::map<
unsigned int, std::pair < TVector3, std::vector< TVector3 > > >& CounterPositionMap,
64 double fExtendCountersX=0,
double fExtendCountersY=0,
double fExtendCountersZ=0 );
66 void MakeCounterCorners(
int CountInd,
double HalfLength,
double HalfWidth1,
double HalfWidth2, TVector3 Centre,
67 TVector3& TL, TVector3& TR, TVector3& BL, TVector3& BR,
68 double fExtendCountersX=0,
double fExtendCountersY=0,
double fExtendCountersZ=0 );
void MakeCounterCorners(int CountInd, double HalfLength, double HalfWidth1, double HalfWidth2, TVector3 Centre, TVector3 &TL, TVector3 &TR, TVector3 &BL, TVector3 &BR, double fExtendCountersX=0, double fExtendCountersY=0, double fExtendCountersZ=0)
std::pair< lbne::PennMicroSlice::Payload_Header::short_nova_timestamp_t, std::bitset< TypeSizes::TriggerWordSize > > PTBTrigger
void BuildPTBChannelMap(std::string MapDir, std::string MapFile, std::map< int, int > &channelMap)
void GetTimestamp(lbne::PennMilliSliceFragment msf, lbne::PennMicroSlice::Payload_Header *&word_header, lbne::PennMicroSlice::Payload_Timestamp *const &previous_timestamp, lbne::PennMicroSlice::Payload_Timestamp *&future_timestamp, lbne::PennMicroSlice::Payload_Header *&future_timestamp_header, std::vector< lbne::PennMicroSlice::Payload_Timestamp::timestamp_t > &TimeVector)
bool MakeNewExtTrig(uint32_t pos, bool &PrevOn, bool NowOn)
void CollectTrigger(lbne::PennMicroSlice::Payload_Header *header, lbne::PennMicroSlice::Payload_Trigger *trigger)
Encapsulate the geometry of an auxiliary detector.
void CollectCounterBits(lbne::PennMicroSlice::Payload_Header *header, lbne::PennMicroSlice::Payload_Counter *trigger)
static int const TriggerWordSize
void MakeCounterPositionMap(std::string CounterDir, std::string CounterFile, std::map< unsigned int, std::pair< TVector3, std::vector< TVector3 > > > &CounterPositionMap, double fExtendCountersX=0, double fExtendCountersY=0, double fExtendCountersZ=0)
std::vector< raw::ExternalTrigger > PennFragmentToExternalTrigger(artdaq::Fragments const &Fragments, std::map< int, int > &channelMap, lbne::PennMicroSlice::Payload_Timestamp *&FirstPTBTimestamp)
static int const CounterWordSize