source: JEM-EUSO/esaf_lal/tags/v1_r0/esaf/packages/simulation/generators/showers/src/EShowerFiller.cc @ 117

Last change on this file since 117 was 117, checked in by moretto, 11 years ago

ESAF version compilable on mac OS

File size: 2.0 KB
Line 
1// ESAF : Euso Simulation and Analysis Framework
2// $Id: EShowerFiller.cc 811 2004-06-22 18:12:05Z naumov $
3// A.Thea, created Jun, 22 2004
4
5#include "EShowerFiller.hh"
6#include "EShower.hh"
7#include "EShowerStep.hh"
8
9#include "PhysicsData.hh"
10#include "ShowerTrack.hh"
11#include <stdexcept>
12
13
14ClassImp(EShowerFiller)
15
16//_____________________________________________________________________________
17EShowerFiller::EShowerFiller( const PhysicsData *track ) : EFiller("EShower") {
18    // ctor
19
20    if ( track->Type() != "shower" )
21        throw runtime_error("EShowerFiller: PhysicsData contains "
22                     +track->Type()+" instead of a showertrack");
23    fTrack = (ShowerTrack*)track;
24}
25
26//_____________________________________________________________________________
27EShowerFiller::~EShowerFiller() {
28    // dtor
29}
30
31//_____________________________________________________________________________
32void EShowerFiller::Fill( EFillable* ev ) {
33    // fill the root file
34   
35    EShower *shower = (EShower*)ev;
36
37    const ShowerTrack& track = *fTrack;
38    TClonesArray &steps = *(shower->GetSteps());
39    for(UInt_t i(0); i<track.Size(); i++){
40        EShowerStep *s = new (steps[shower->fNumSteps++]) EShowerStep();
41        s->SetXi( track[i].GetXi() );
42        s->SetXf( track[i].GetXf() );
43        s->SetPosi( track[i].GetXYZi() );
44        s->SetPosf( track[i].GetXYZf() );
45        s->SetTimei( track[i].GetTimei() );
46        s->SetTimef( track[i].GetTimef() );
47        s->SetAgei( track[i].GetAgei() );
48        s->SetAgef( track[i].GetAgef() );
49        s->SetNumElectrons( track[i].GetNelectrons() );
50        s->SetNumCharged( track[i].GetNcharged() );
51        s->SetNumCherenkov( track[i].GetNcherenkov() );
52    }
53    shower->SetEnergy(  fTrack->GetEnergy() );
54    shower->SetTheta( fTrack->GetTheta() );
55    shower->SetPhi( fTrack->GetPhi() );
56    shower->SetX1( fTrack->GetX1() );
57    shower->SetElectrEthres( fTrack->GetEthrEl() );
58    shower->SetDir( fTrack->GetDirVers() );
59    shower->SetInitPos( fTrack->GetInitPos() );
60    shower->SetHitGround( fTrack->GetHitGround() );
61}
Note: See TracBrowser for help on using the repository browser.