Skip to content
Snippets Groups Projects
Commit 92e996f4 authored by Vardan Tadevosyan's avatar Vardan Tadevosyan Committed by Stephen A. Wood
Browse files

Add example code to assign energies to tracks.

    Add TrackEnergies method in THcHallCSpectrometer class. It is
    called from TrackCalc metod.
parent f3699525
No related branches found
No related tags found
No related merge requests found
......@@ -51,6 +51,7 @@
#include "THaTriggerTime.h"
#include "TMath.h"
#include "TList.h"
#include "THcShower.h"
#include <iostream>
#include <fstream>
......@@ -312,9 +313,48 @@ Int_t THcHallCSpectrometer::TrackCalc()
{
// Additioal track calculations. At present, we only calculate beta here.
cout << "THcHallCSpectrometer::TrackCalc is called xxxxxxxxxxxxxxxxx" << endl;
TrackEnergies(fTracks);
return TrackTimes( fTracks );
}
//_____________________________________________________________________________
Int_t THcHallCSpectrometer::TrackEnergies( TClonesArray* Tracks ) {
// Example code for track energy assignments from shower counter.
// cout << "THcHallCSpectrometer::TrackEnergies called -----------------\n" ;
if ( !Tracks ) return -1;
THaTrack *track=0;
Int_t ntrack = GetNTracks();
// cout << " number of tracks " << ntrack << endl;
for ( Int_t itrk=0; itrk < ntrack; itrk++ ) {
Double_t energy = kBig;
track = static_cast<THaTrack*>(Tracks->At(itrk));
TIter nextDet( fNonTrackingDetectors );
THaNonTrackingDetector *det;
while ((det = static_cast<THaNonTrackingDetector*>(nextDet()))) {
THcShower *sh = dynamic_cast<THcShower*>(det);
if ( sh ) energy = sh->GetShEnergy(track);
}
track->SetEnergy(energy);
cout << "track " << itrk << " energy = " << track->GetEnergy() << endl;
}
return ntrack;
}
//_____________________________________________________________________________
Int_t THcHallCSpectrometer::TrackTimes( TClonesArray* Tracks ) {
// Do the actual track-timing (beta) calculation.
......
......@@ -21,6 +21,7 @@ public:
virtual Int_t FindVertices( TClonesArray& tracks );
virtual Int_t TrackCalc();
virtual Int_t TrackTimes( TClonesArray* tracks );
Int_t TrackEnergies( TClonesArray* tracks );
virtual Int_t ReadRunDatabase( const TDatime& date );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment