File indexing completed on 2024-11-15 09:35:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef DDEVE_PARTICLEACTORS_H
0014 #define DDEVE_PARTICLEACTORS_H
0015
0016
0017 #include "DDEve/EventHandler.h"
0018 #include "DDEve/DisplayConfiguration.h"
0019
0020
0021 #include <map>
0022
0023
0024 class TEveTrackPropagator;
0025 class TEvePointSet;
0026 class TEveCompound;
0027 class TEveElement;
0028 class TEveLine;
0029
0030
0031 namespace dd4hep {
0032
0033
0034
0035
0036
0037
0038
0039 struct MCParticleCreator : public DDEveParticleActor {
0040 typedef std::map<std::string,TEveCompound*> Compounds;
0041 TEveTrackPropagator* propagator {0};
0042 TEveCompound* particles {0};
0043 Compounds types;
0044 double threshold {10e0};
0045 int count {0};
0046 int lineWidth {4};
0047
0048
0049 MCParticleCreator(TEveTrackPropagator* p, TEveCompound* ps, const DisplayConfiguration::Config* cfg);
0050
0051 void addCompound(const std::string& name, TEveLine* e);
0052
0053 void addCompoundLight(const std::string& name, TEveLine* e);
0054
0055 virtual void operator()(const DDEveParticle& particle);
0056
0057 void close();
0058 };
0059
0060
0061
0062
0063
0064
0065
0066 struct StartVertexCreator : public DDEveParticleActor {
0067 TEvePointSet* pointset;
0068 float deposit;
0069 int count;
0070
0071 StartVertexCreator(const std::string& collection, size_t length);
0072
0073 StartVertexCreator(const std::string& collection, size_t length, const DisplayConfiguration::Config& cfg);
0074
0075 virtual ~StartVertexCreator();
0076
0077 TEveElement* element() const;
0078
0079 virtual void operator()(const DDEveParticle& particle);
0080 };
0081
0082 }
0083
0084
0085 #endif
0086