Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

EChipTrackTriggerDataAdder - source file

// $Id: EChipTrackTriggerDataAdder.cc,v 1.2 2005/02/16 13:02:48 pesce Exp $
// Author: R.Pesce   2005/02/15

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

//_____________________________________________________________________________
//
// EChipTrackTriggerDataAdder
//
// <extensive class description>
//
//   Config file parameters
//   ======================
//
//   <parameter name>: <parameter description>
//   -Valid options: <available options>
//

#include "EChipTrackTriggerDataAdder.hh"
#include "ChipTrackSegment.hh"
#include "EChipTrackTrigger.hh"
#include "EChipTrackSegment.hh"

ClassImp(EChipTrackTriggerDataAdder)

//_____________________________________________________________________________
 EChipTrackTriggerDataAdder::EChipTrackTriggerDataAdder(ChipTrackSegment* seg, Int_t cell_id, Int_t chip_id) 
   : EFiller("EChipTrackTrigger") {
    //
    // Constructor
    //
    fTrack = seg;
    fChipId = chip_id;
    fCellId = cell_id;
}

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

//_____________________________________________________________________________
 void EChipTrackTriggerDataAdder::Fill(EFillable* f) {
    //
    // Filler
    //
    EChipTrackTrigger *trg = (EChipTrackTrigger*)f;
    
    if ( !fTrack ) return;

    //create a new track in the event
    new ( (*(trg->fTracks))[trg->fNumTracks++] ) EChipTrackSegment();

    //fill track properties
    EChipTrackSegment& seg = *(EChipTrackSegment*)(*(trg->fTracks))[trg->fNumTracks-1]; 
    
    seg.fCellId = fCellId;
    seg.fChipUid = fChipId;
    seg.fGtuStart = fTrack->GetGtuStart();
    seg.fGtuEnd = fTrack->GetGtuEnd();
    seg.fCrossBorder = fTrack->GetCrossBorder();
    seg.fTrackLength = fTrack->GetTrackLength();
    seg.fHasHole = fTrack->GetHasHole();
    seg.fTriggered = fTrack->GetTriggered();
}
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