source: DMM/src/MCParticle.cxx @ 454

Last change on this file since 454 was 373, checked in by campagne, 17 years ago

Data Model for MEMPHYS

File size: 2.3 KB
Line 
1#include "DMM/MCParticle.h"
2
3
4MEMPHYS::DMM::MCParticle::MCParticle(MEMPHYS::DMM::IDataServices& aService)   
5  :MEMPHYS::DMM::Particle(aService)
6  ,m_isPrimary(false)
7  ,m_startTime(0.)
8{
9  std::cout << "Create MCParticle("<<this<<")"<<std::endl;
10}//Ctor
11//----------------------------------------------------------
12MEMPHYS::DMM::MCParticle::MCParticle(const MEMPHYS::DMM::MCParticle& aMCParticle)
13  :MEMPHYS::DMM::Particle(aMCParticle)
14  ,m_isPrimary(aMCParticle.m_isPrimary)
15  ,m_startTime(aMCParticle.m_startTime)
16{
17  std::cout << "Copy Create MCParticle("<<this<<") from ("<< &aMCParticle <<")" <<std::endl;
18}//CCtor
19//----------------------------------------------------------
20MEMPHYS::DMM::MCParticle& MEMPHYS::DMM::MCParticle::operator=(const MEMPHYS::DMM::MCParticle& aMCParticle) {
21  std::cout << "Assign ("<<&aMCParticle<<") to (" << this << ")" <<std::endl;
22  if (&aMCParticle != this) {
23    MEMPHYS::DMM::Particle::operator=(aMCParticle);
24    m_isPrimary = aMCParticle.m_isPrimary;
25    m_startTime = aMCParticle.m_startTime;
26  }
27  return *this;
28}//op=
29//----------------------------------------------------------
30void* MEMPHYS::DMM::MCParticle::cast(const std::string& aClass) const {
31  if(aClass=="Slash::Store::IStorable") {
32    return (void*)static_cast<const Slash::Store::IStorable*>(this);
33  } else if(aClass=="MEMPHYS::DMM::MCParticle") {
34    return (void*)static_cast<const MEMPHYS::DMM::MCParticle*>(this);
35  } else if(aClass=="MEMPHYS:DMM::Particle") {
36    return (void*)static_cast<const MEMPHYS::DMM::Particle*>(this);
37  } else if(aClass=="MEMPHYS:DMM::BaseData") {
38    return (void*)static_cast<const MEMPHYS::DMM::BaseData*>(this);
39  } else {
40    return 0;
41  } 
42}//cast
43//----------------------------------------------------------
44bool  MEMPHYS::DMM::MCParticle::visit(Slash::Store::IConstVisitor&) const {
45  return true;
46}//visit
47//----------------------------------------------------------
48bool MEMPHYS::DMM::MCParticle::read(Slash::Store::IVisitor&) {
49  return true;
50}//read
51//----------------------------------------------------------
52void MEMPHYS::DMM::MCParticle::dump(std::ostream& f,
53                               const std::string& option) {
54  MEMPHYS::DMM::Particle::dump(f,option);
55  if(m_isPrimary) {
56    f << " primary particle ";
57  } else {
58    f << " non-primary particle ";
59  }
60  f << " Start time " << m_startTime
61    << std::endl;
62}//dump
63
64
Note: See TracBrowser for help on using the repository browser.