source: trunk/examples/advanced/composite_calorimeter/src/CCalHit.cc @ 1304

Last change on this file since 1304 was 807, checked in by garnier, 16 years ago

update

File size: 4.3 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer                                           *
4// *                                                                  *
5// * The  Geant4 software  is  copyright of the Copyright Holders  of *
6// * the Geant4 Collaboration.  It is provided  under  the terms  and *
7// * conditions of the Geant4 Software License,  included in the file *
8// * LICENSE and available at  http://cern.ch/geant4/license .  These *
9// * include a list of copyright holders.                             *
10// *                                                                  *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work  make  any representation or  warranty, express or implied, *
14// * regarding  this  software system or assume any liability for its *
15// * use.  Please see the license in the file  LICENSE  and URL above *
16// * for the full disclaimer and the limitation of liability.         *
17// *                                                                  *
18// * This  code  implementation is the result of  the  scientific and *
19// * technical work of the GEANT4 collaboration.                      *
20// * By using,  copying,  modifying or  distributing the software (or *
21// * any work based  on the software)  you  agree  to acknowledge its *
22// * use  in  resulting  scientific  publications,  and indicate your *
23// * acceptance of all terms of the Geant4 Software license.          *
24// ********************************************************************
25//
26///////////////////////////////////////////////////////////////////////////////
27// File: CCalHit.cc
28// Description: Hit class for Calorimeters (Ecal, Hcal, ...)
29///////////////////////////////////////////////////////////////////////////////
30
31#include "CCalHit.hh"
32#include <iostream>
33
34
35CCalHit::CCalHit() : 
36  entry(0), theIncidentEnergy(0.0), theTrackID(-1),
37  theUnitID(0), theTimeSlice(0.0), theEnergyDeposit(0.0)
38{}
39
40
41CCalHit::~CCalHit() {}
42
43
44CCalHit::CCalHit(const CCalHit &right) :
45  entry( right.entry ), 
46  theIncidentEnergy( right.theIncidentEnergy ),
47  theTrackID( right.theTrackID ),
48  theUnitID( right.theUnitID ),
49  theTimeSlice( right.theTimeSlice ),
50  theEnergyDeposit( right.theEnergyDeposit ) 
51{}
52
53
54const CCalHit& CCalHit::operator=(const CCalHit &right) {
55  entry = right.entry;
56  theIncidentEnergy = right.theIncidentEnergy;
57  theTrackID = right.theTrackID;
58  theUnitID = right.theUnitID;
59  theTimeSlice = right.theTimeSlice;
60  theEnergyDeposit = right.theEnergyDeposit;
61  return *this;
62}
63
64
65CLHEP::Hep3Vector   CCalHit::getEntry() const          {return entry;}
66void         CCalHit::setEntry(CLHEP::Hep3Vector xyz)  { entry    = xyz; }
67
68double       CCalHit::getIncidentEnergy() const {return theIncidentEnergy; }
69void         CCalHit::setIncidentEnergy (double e){theIncidentEnergy  = e; }
70
71int          CCalHit::getTrackID() const         {return theTrackID; }
72void         CCalHit::setTrackID (int i)         { theTrackID = i; }
73
74unsigned int CCalHit::getUnitID() const          {return theUnitID; }
75void         CCalHit::setUnitID (unsigned int i) { theUnitID = i; }
76
77double       CCalHit::getTimeSlice() const       {return theTimeSlice; }
78void         CCalHit::setTimeSlice (double d)    { theTimeSlice = d; }
79int          CCalHit::getTimeSliceID() const     {return (int)theTimeSlice;}
80
81
82void CCalHit::setEnergyDeposit(const double e) { 
83  theEnergyDeposit = e; 
84}
85
86double CCalHit::getEnergyDeposit() const { 
87  return theEnergyDeposit; 
88}
89
90void CCalHit::addEnergyDeposit(const CCalHit& aHit) {
91  addEnergyDeposit( aHit.getEnergyDeposit() );
92}
93
94void  CCalHit::addEnergyDeposit(const double e) { 
95  theEnergyDeposit += e; 
96}
97
98
99void CCalHit::print() {
100  G4cout << (*this);
101}
102
103
104std::ostream& operator<<(std::ostream& os, const CCalHit& hit) {
105  os << " Data of this CCalHit are:"<< G4endl
106     << " \t Time slice ID: " << hit.getTimeSliceID() << G4endl
107     << " \t Energy of primary particle (ID = " << hit.getTrackID()
108     << ") = " << hit.getIncidentEnergy() << " (MeV)"<< G4endl
109     << " \t Entry point in Calorimeter unit number " << hit.getUnitID()
110     << " is: " << hit.getEntry() << " (mm)" << G4endl
111     << " \t EnergyDeposit = " << hit.getEnergyDeposit() << " (MeV)" << G4endl;
112  return os;
113}
Note: See TracBrowser for help on using the repository browser.