1 #ifndef Notification_SimTrackManager_h 2 #define Notification_SimTrackManager_h 37 typedef std::map<int, VertexPositionVector>
VertexMap;
66 if (ptr->trackID() ==
i) {
77 if (ptr->trackID() == trackID) {
82 if (
nullptr ==
track && strict) {
115 std::vector<std::pair<int, int> >
idsave;
std::vector< TrackWithHistory * > m_trackContainer
bool operator()(TrackWithHistory *&p, const unsigned int &i) const
std::pair< int, math::XYZVectorD > VertexPosition
TrackWithHistory * getTrackByID(unsigned int trackID, bool strict=false) const
bool operator()(TrackWithHistory *trk1, TrackWithHistory *trk2) const
const SimTrackManager & operator=(const SimTrackManager &)=delete
virtual ~SimTrackManager()
int getOrCreateVertex(TrackWithHistory *, int, TmpSimEvent *simEvent)
bool trackExists(unsigned int i) const
void cleanTracksWithHistory()
void reallyStoreTracks(TmpSimEvent *simEvent)
void addTrack(TrackWithHistory *iTrack, const G4Track *track, bool inHistory, bool withAncestor)
std::vector< std::pair< int, int > > idsave
void storeTracks(TmpSimEvent *simEvent)
void saveTrackAndItsBranch(TrackWithHistory *)
this saves a track and all its parents looping over the non ordered vector
std::map< int, VertexPositionVector > VertexMap
const std::vector< TrackWithHistory * > * trackContainer() const
void setLHCTransportLink(const edm::LHCTransportLinkContainer *thisLHCTlink)
std::vector< LHCTransportLink > LHCTransportLinkContainer
const edm::LHCTransportLinkContainer * theLHCTlink
int giveMotherNeeded(int i) const
int idSavedTrack(int) const
std::vector< std::pair< int, math::XYZVectorD > > VertexPositionVector
std::vector< std::pair< int, int > > ancestorList
void ReportException(unsigned int id) const
unsigned int trackID() const
std::vector< std::pair< int, math::XYZVectorD > > m_endPoints