MarsHaloGenerator Node1 MarsHaloGenerator + MarsHaloGenerator() + ~MarsHaloGenerator() + genInitialize() + genFinalize() + fillEvt() # readEvent() # readParticle() Node2 BeamHaloGenerator # m_particleTable # m_interfacePlane # m_enableFlip # m_flipProbability # m_enableSampling # m_wsums # m_debug + BeamHaloGenerator() + ~BeamHaloGenerator() + genInitialize() + genFinalize() + fillEvt() + setInterfacePlane() + setEnableFlip() + setFlipProbability() + setEnableSampling() + setBufferFileName() + setDebugEnable() # readEvent() # readParticle() # flipEvent() # convertEvent() Node2->Node1 Node3 BeamHaloGeneratorSettings - m_shapeRequirement - m_settingsParsed + BeamHaloGeneratorSettings() + parseSettings() + checkParticle() + printSettings() - parseLimitSetting() - checkCylinder() - checkSetting() Node3->Node2 #m_beamHaloGeneratorSettings Node4 std::vector< std::pair < float, float > > + elements Node4->Node3 -m_limits Node5 std::vector< long > Node5->Node3 -m_allowedPdgIds Node6 long Node6->Node2 #m_eventNumber #m_counters Node6->Node5 +elements Node11 BeamHaloParticleBuffer - m_recordSize - m_particlesPerInterval - m_upperBinEdge - m_intervalUpperBinEdge - m_writeFlag + BeamHaloParticleBuffer() + ~BeamHaloParticleBuffer() + openForWriting() + openForReading() + close() + writeParticle() + readRandomParticle() - readParticle() Node6->Node11 -m_numberOfParticles Node7 std::string Node7->Node2 #m_bufferFileName #m_inputFile Node7->Node3 -m_limitNames Node9 std::vector< std::string > Node7->Node9 +elements Node7->Node11 -m_fileName Node23 AsciiInput - m_lineBuffer - MAX_LINE_LENGTH + AsciiInput() + ~AsciiInput() + open() + close() + readRow() + strToStrVec() + strToLong() + strToDouble() Node7->Node23 -m_fileName Node9->Node2 -m_generatorSettings Node9->Node3 -m_generatorSettings Node11->Node2 #m_beamHaloParticleBuffer Node23->Node2 #m_asciiInput