BeamHaloGenerator Node1 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 BeamHaloGeneratorSettings - m_shapeRequirement - m_settingsParsed + BeamHaloGeneratorSettings() + parseSettings() + checkParticle() + printSettings() - parseLimitSetting() - checkCylinder() - checkSetting() Node2->Node1 #m_beamHaloGeneratorSettings Node3 std::vector< std::pair < float, float > > + elements Node3->Node2 -m_limits Node4 std::vector< long > Node4->Node2 -m_allowedPdgIds Node5 long Node5->Node1 #m_eventNumber #m_counters Node5->Node4 +elements Node10 BeamHaloParticleBuffer - m_recordSize - m_particlesPerInterval - m_upperBinEdge - m_intervalUpperBinEdge - m_writeFlag + BeamHaloParticleBuffer() + ~BeamHaloParticleBuffer() + openForWriting() + openForReading() + close() + writeParticle() + readRandomParticle() - readParticle() Node5->Node10 -m_numberOfParticles Node6 std::string Node6->Node1 #m_bufferFileName #m_inputFile Node6->Node2 -m_limitNames Node8 std::vector< std::string > Node6->Node8 +elements Node6->Node10 -m_fileName Node22 AsciiInput - m_lineBuffer - MAX_LINE_LENGTH + AsciiInput() + ~AsciiInput() + open() + close() + readRow() + strToStrVec() + strToLong() + strToDouble() Node6->Node22 -m_fileName Node8->Node1 -m_generatorSettings Node8->Node2 -m_generatorSettings Node9 std::vector< std::pair < bool, bool > > + elements Node9->Node2 -m_limitsEnabled Node10->Node1 #m_beamHaloParticleBuffer Node22->Node1 #m_asciiInput