CMS 3D CMS Logo

Public Member Functions | Private Attributes

G4PiKBuilder_WP Class Reference

#include <G4PiKBuilder_WP.h>

List of all members.

Public Member Functions

void Build ()
 G4PiKBuilder_WP ()
void RegisterMe (G4VPiKBuilder *aB)
virtual ~G4PiKBuilder_WP ()

Private Attributes

G4KaonMinusInelasticProcess * theKaonMinusInelastic
G4KaonPlusInelasticProcess * theKaonPlusInelastic
G4KaonZeroLInelasticProcess * theKaonZeroLInelastic
G4KaonZeroSInelasticProcess * theKaonZeroSInelastic
std::vector< G4VPiKBuilder * > theModelCollections
G4PionMinusInelasticProcess * thePionMinusInelastic
G4PionPlusInelasticProcess * thePionPlusInelastic
GflashHadronWrapperProcesstheWrappedKaonMinusInelastic
GflashHadronWrapperProcesstheWrappedKaonPlusInelastic
GflashHadronWrapperProcesstheWrappedPionMinusInelastic
GflashHadronWrapperProcesstheWrappedPionPlusInelastic
G4bool wasActivated

Detailed Description

Definition at line 53 of file G4PiKBuilder_WP.h.


Constructor & Destructor Documentation

G4PiKBuilder_WP::G4PiKBuilder_WP ( )

Definition at line 51 of file G4PiKBuilder_WP.cc.

References theKaonMinusInelastic, theKaonPlusInelastic, theKaonZeroLInelastic, theKaonZeroSInelastic, thePionMinusInelastic, thePionPlusInelastic, theWrappedKaonMinusInelastic, theWrappedKaonPlusInelastic, theWrappedPionMinusInelastic, and theWrappedPionPlusInelastic.

                 : wasActivated(false) 
{  
  thePionPlusInelastic=new G4PionPlusInelasticProcess;
  thePionMinusInelastic=new G4PionMinusInelasticProcess;
  theKaonPlusInelastic=new G4KaonPlusInelasticProcess;
  theKaonMinusInelastic=new G4KaonMinusInelasticProcess;
  theKaonZeroLInelastic=new G4KaonZeroLInelasticProcess;
  theKaonZeroSInelastic=new G4KaonZeroSInelasticProcess;

  theWrappedPionPlusInelastic=new GflashHadronWrapperProcess("G4PionPlusInelasticProcess");
  theWrappedPionMinusInelastic=new GflashHadronWrapperProcess("G4PionMinusInelasticProcess");
  theWrappedKaonPlusInelastic=new GflashHadronWrapperProcess("G4KaonPlusInelasticProcess");
  theWrappedKaonMinusInelastic=new GflashHadronWrapperProcess("G4KaonMinusInelasticProcess");
}
G4PiKBuilder_WP::~G4PiKBuilder_WP ( ) [virtual]

Definition at line 67 of file G4PiKBuilder_WP.cc.

References theKaonMinusInelastic, theKaonPlusInelastic, theKaonZeroLInelastic, theKaonZeroSInelastic, thePionMinusInelastic, and thePionPlusInelastic.

                  {
  delete thePionPlusInelastic;
  delete thePionMinusInelastic;
  delete theKaonPlusInelastic;
  delete theKaonMinusInelastic;
  delete theKaonZeroLInelastic;
  delete theKaonZeroSInelastic;

  //  delete theWrappedPionPlusInelastic;
  //  delete theWrappedPionMinusInelastic;
}

Member Function Documentation

void G4PiKBuilder_WP::Build ( )

Definition at line 80 of file G4PiKBuilder_WP.cc.

References i, theKaonMinusInelastic, theKaonPlusInelastic, theKaonZeroLInelastic, theKaonZeroSInelastic, theModelCollections, thePionMinusInelastic, thePionPlusInelastic, theWrappedKaonMinusInelastic, theWrappedKaonPlusInelastic, theWrappedPionMinusInelastic, theWrappedPionPlusInelastic, and wasActivated.

Referenced by HadronPhysicsQGSP_WP::ConstructProcess(), HadronPhysicsQGSP_BERT_WP::ConstructProcess(), and HadronPhysicsQGSPCMS_FTFP_BERT_WP::ConstructProcess().

{
  wasActivated = true;

  std::vector<G4VPiKBuilder *>::iterator i;
  for(i=theModelCollections.begin(); i!=theModelCollections.end(); i++)
  {
    (*i)->Build(thePionPlusInelastic);
    (*i)->Build(thePionMinusInelastic);
    (*i)->Build(theKaonPlusInelastic);
    (*i)->Build(theKaonMinusInelastic);
    (*i)->Build(theKaonZeroLInelastic);
    (*i)->Build(theKaonZeroSInelastic);
  }
  G4ProcessManager * theProcMan;
  theProcMan = G4PionPlus::PionPlus()->GetProcessManager();
  //  theProcMan->AddDiscreteProcess(thePionPlusInelastic);
  edm::LogInfo("SimG4CoreGFlash") << " Adding GflashHadronWrapperProcess (G4wrapperProcess) for G4PionPlusInelasticProcess";
  theWrappedPionPlusInelastic->RegisterProcess(thePionPlusInelastic);
  theProcMan->AddDiscreteProcess(theWrappedPionPlusInelastic);
  
  theProcMan = G4PionMinus::PionMinus()->GetProcessManager();
  //  theProcMan->AddDiscreteProcess(thePionMinusInelastic);
  edm::LogInfo("SimG4CoreGFlash") << " Adding GflashHadronWrapperProcess (G4wrapperProcess) for G4PionMinusInelasticProcess";
  theWrappedPionMinusInelastic->RegisterProcess(thePionMinusInelastic);
  theProcMan->AddDiscreteProcess(theWrappedPionMinusInelastic);
  
  theProcMan = G4KaonPlus::KaonPlus()->GetProcessManager();
  //  theProcMan->AddDiscreteProcess(theKaonPlusInelastic);
  edm::LogInfo("SimG4CoreGFlash") << " Adding GflashHadronWrapperProcess (G4wrapperProcess) for G4KaonPlusInelasticProcess";
  theWrappedKaonPlusInelastic->RegisterProcess(theKaonPlusInelastic);
  theProcMan->AddDiscreteProcess(theWrappedKaonPlusInelastic);
  
  theProcMan = G4KaonMinus::KaonMinus()->GetProcessManager();
  //  theProcMan->AddDiscreteProcess(theKaonMinusInelastic);
  edm::LogInfo("SimG4CoreGFlash") << " Adding GflashHadronWrapperProcess (G4wrapperProcess) for G4KaonMinusInelasticProcess";
  theWrappedKaonMinusInelastic->RegisterProcess(theKaonMinusInelastic);
  theProcMan->AddDiscreteProcess(theWrappedKaonMinusInelastic);
  
  theProcMan = G4KaonZeroLong::KaonZeroLong()->GetProcessManager();
  theProcMan->AddDiscreteProcess(theKaonZeroLInelastic);
  
  theProcMan = G4KaonZeroShort::KaonZeroShort()->GetProcessManager();
  theProcMan->AddDiscreteProcess(theKaonZeroSInelastic);
}
void G4PiKBuilder_WP::RegisterMe ( G4VPiKBuilder *  aB) [inline]

Member Data Documentation

G4KaonMinusInelasticProcess* G4PiKBuilder_WP::theKaonMinusInelastic [private]

Definition at line 67 of file G4PiKBuilder_WP.h.

Referenced by Build(), G4PiKBuilder_WP(), and ~G4PiKBuilder_WP().

G4KaonPlusInelasticProcess* G4PiKBuilder_WP::theKaonPlusInelastic [private]

Definition at line 66 of file G4PiKBuilder_WP.h.

Referenced by Build(), G4PiKBuilder_WP(), and ~G4PiKBuilder_WP().

G4KaonZeroLInelasticProcess* G4PiKBuilder_WP::theKaonZeroLInelastic [private]

Definition at line 68 of file G4PiKBuilder_WP.h.

Referenced by Build(), G4PiKBuilder_WP(), and ~G4PiKBuilder_WP().

G4KaonZeroSInelasticProcess* G4PiKBuilder_WP::theKaonZeroSInelastic [private]

Definition at line 69 of file G4PiKBuilder_WP.h.

Referenced by Build(), G4PiKBuilder_WP(), and ~G4PiKBuilder_WP().

std::vector<G4VPiKBuilder *> G4PiKBuilder_WP::theModelCollections [private]

Definition at line 76 of file G4PiKBuilder_WP.h.

Referenced by Build(), and RegisterMe().

G4PionMinusInelasticProcess* G4PiKBuilder_WP::thePionMinusInelastic [private]

Definition at line 65 of file G4PiKBuilder_WP.h.

Referenced by Build(), G4PiKBuilder_WP(), and ~G4PiKBuilder_WP().

G4PionPlusInelasticProcess* G4PiKBuilder_WP::thePionPlusInelastic [private]

Definition at line 64 of file G4PiKBuilder_WP.h.

Referenced by Build(), G4PiKBuilder_WP(), and ~G4PiKBuilder_WP().

Definition at line 74 of file G4PiKBuilder_WP.h.

Referenced by Build(), and G4PiKBuilder_WP().

Definition at line 73 of file G4PiKBuilder_WP.h.

Referenced by Build(), and G4PiKBuilder_WP().

Definition at line 72 of file G4PiKBuilder_WP.h.

Referenced by Build(), and G4PiKBuilder_WP().

Definition at line 71 of file G4PiKBuilder_WP.h.

Referenced by Build(), and G4PiKBuilder_WP().

Definition at line 78 of file G4PiKBuilder_WP.h.

Referenced by Build().