Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

ETruth - source file

// ESAF : Euso Simulation and Analysis Framework
// $Id: ETruth.cc,v 1.7 2005/04/20 12:26:36 thea Exp $
// A.Thea created May, 23 2004


/*****************************************************************************
 * ESAF: Euso Simulation and Analysis Framework                              *
 *                                                                           *
 *  Id: ETruth                                                               *
 *  Package: SimuEvent                                                       *
 *  Coordinator: Alessandro.Thea                                             *
 *                                                                           *
 *****************************************************************************/

#include "ETruth.hh"
#include "Etypes.hh"

//______________________________________________________________________________
//
//   ETruth
//   ======
// 
//   MonteCarlo Truth object. Informations about the real event
//   In case of EECR, contains infos about the original particle, 
//   direction, energy, type
//   In case of other backgrounds, informations about the real process
//

ClassImp(ETruth)

//_____________________________________________________________________________
 ETruth::ETruth() {
    // ctor
    Clear();

}

//_____________________________________________________________________________
 ETruth::ETruth( const ETruth& other ) : TObject() {
    // copy ctor

    other.Copy( *this );
}

//_____________________________________________________________________________
 ETruth::~ETruth() {
    // dtor
}

//_____________________________________________________________________________
 void ETruth::Clear( Option_t* ) {

    fTrueEnergy         = 0;
    fTrueTheta          = 0;
    fTruePhi            = 0;
    fTrueParticleName.Resize(0);
    fTrueParticleCode   = 0;
    fTrueInitPosX       = -kHuge;
    fTrueInitPosY       = -kHuge;
    fTrueInitPosZ       = -kHuge;
    fTrueX1             = 0;
    fTrueEarthImpactX   = -kHuge;
    fTrueEarthImpactY   = -kHuge;
    fTrueEarthImpactZ   = -kHuge;
    fTrueEarthAge       = 0;
    fTrueShowerMaxPosX  = -kHuge;
    fTrueShowerMaxPosY  = -kHuge;
    fTrueShowerMaxPosZ  = -kHuge;
    fTrueShowerXMax     = 0;
    fTrueHclouds        = -kHuge;

    fTrueCloudsthick    = 0;
    fTrueCloudsOD       = 0;
    fTrueLatitude       = 0;
    fTrueLongitude      = 0;
    fTrueDate           = 0;
}

//_____________________________________________________________________________
 void ETruth::Copy( TObject& other) const {
    // copy 
    
    ETruth& truth = (ETruth&)other; 

    truth.fTrueEnergy         = fTrueEnergy;
    truth.fTrueTheta          = fTrueTheta;
    truth.fTruePhi            = fTruePhi;
    truth.fTrueParticleName   = fTrueParticleName;
    truth.fTrueParticleCode   = fTrueParticleCode;
    truth.fTrueInitPosX       = fTrueInitPosX;
    truth.fTrueInitPosY       = fTrueInitPosY;
    truth.fTrueInitPosZ       = fTrueInitPosZ;
    truth.fTrueX1             = fTrueX1;
    truth.fTrueEarthImpactX   = fTrueEarthImpactX;
    truth.fTrueEarthImpactY   = fTrueEarthImpactY;
    truth.fTrueEarthImpactZ   = fTrueEarthImpactZ;
    truth.fTrueEarthAge       = fTrueEarthAge;
    truth.fTrueShowerMaxPosX  = fTrueShowerMaxPosX;
    truth.fTrueShowerMaxPosY  = fTrueShowerMaxPosY;
    truth.fTrueShowerMaxPosZ  = fTrueShowerMaxPosZ;
    truth.fTrueShowerXMax     = fTrueShowerXMax;
    truth.fTrueHclouds        = fTrueHclouds;

    truth.fTrueCloudsthick    = fTrueCloudsthick;
    truth.fTrueCloudsOD       = fTrueCloudsOD;
    truth.fTrueLatitude       = fTrueLatitude;
    truth.fTrueLongitude      = fTrueLongitude;
    truth.fTrueDate           = fTrueDate;
}

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