Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

ELblTrackTriggerDataAdder - source file

// $Id: ELblTrackTriggerDataAdder.cc,v 1.1 2005/10/10 16:28:03 ejudd Exp $
// Author: E.Judd   2005/07/22

/*****************************************************************************
 * ESAF: Euso Simulation and Analysis Framework                              *
 *                                                                           *
 *  Id: ELblTrackTriggerDataAdder                                            *
 *  Package: <packagename>                                                   *
 *  Coordinator: <coordinator>                                               *
 *                                                                           *
 *****************************************************************************/

//_____________________________________________________________________________
//
// ELblTrackTriggerDataAdder
//
// This class fills the ELblTrackTrigger branch of the ROOT output
//
//   Config file parameters
//   ======================
//
//   <parameter name>: <parameter description>
//   -Valid options: <available options>
//

#include "ELblTrackTriggerDataAdder.hh"
#include "LblTrackSegment.hh"
#include "ELblTrackTrigger.hh"
#include "ELblTrackSegment.hh"

ClassImp(ELblTrackTriggerDataAdder)

//_____________________________________________________________________________
 ELblTrackTriggerDataAdder::ELblTrackTriggerDataAdder(LblTrackSegment* seg, Int_t cell_id, Int_t chip_id) 
   : EFiller("ELblTrackTrigger") {
    //
    // Constructor
    //
    fLblTrack = seg;
    fChipId = chip_id;
    fCellId = cell_id;
}

//_____________________________________________________________________________
 ELblTrackTriggerDataAdder::~ELblTrackTriggerDataAdder() {
    //
    // Destructor
    //
}

//_____________________________________________________________________________
 void ELblTrackTriggerDataAdder::Fill(EFillable* f) {
    //
    // Filler
    //
    ELblTrackTrigger *trg = (ELblTrackTrigger*)f;
    
    if ( !fLblTrack ) return;

    //create a new track in the event
    new ( (*(trg->fLblTracks))[trg->fNumLblTracks++] ) ELblTrackSegment();

    //fill track properties
    ELblTrackSegment& seg = *(ELblTrackSegment*)(*(trg->fLblTracks))[trg->fNumLblTracks-1]; 
    
    seg.fCellId = fCellId;
    seg.fChipUid = fChipId;
    seg.fGtuStart = fLblTrack->GetGtuStart();
    seg.fGtuEnd = fLblTrack->GetGtuEnd();
    seg.fRowStart = fLblTrack->GetRowStart();
    seg.fRowEnd = fLblTrack->GetRowEnd();
    seg.fColStart = fLblTrack->GetColStart();
    seg.fColEnd = fLblTrack->GetColEnd();
    seg.fNumSegs = fLblTrack->GetNumSegs();
    seg.fSum = fLblTrack->GetSum();
    seg.fTriggerID = fLblTrack->GetTriggerID();
}
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update Wed Nov 16 16:57:39 2005 Wed Nov 16 16:29:22 2005