1 #ifndef Application_SimTrackManager_h
2 #define Application_SimTrackManager_h
71 if (withAncestor) { std::pair<int,int> thisPair(iTrack->
trackID(),0);
ancestorList.push_back(thisPair); }
75 std::map<uint32_t,std::pair<math::XYZVectorD,math::XYZTLorentzVectorD> >::const_iterator it =
79 mapTkCaloStateInfo.insert(std::pair<uint32_t,std::pair<math::XYZVectorD,math::XYZTLorentzVectorD> >(t,p));
87 for (
unsigned int itr=0; itr<
idsave.size(); itr++) {
if ((
idsave[itr]).first ==
i) { theResult = (
idsave[itr]).
second;
break; } }
92 for (
unsigned int itr=0; itr<(*m_trksForThisEvent).size(); ++itr) {
124 std::vector< std::pair<int, int> >
idsave;
void addTrack(TrackWithHistory *iTrack, bool inHistory, bool withAncestor)
int getOrCreateVertex(TrackWithHistory *, int, G4SimEvent *simEvent)
bool m_collapsePrimaryVertices
SimTrackManager(bool iCollapsePrimaryVertices=false)
void cleanTkCaloStateInfoMap()
std::map< uint32_t, std::pair< math::XYZVectorD, math::XYZTLorentzVectorD > > mapTkCaloStateInfo
virtual ~SimTrackManager()
TrackContainer * m_trksForThisEvent
U second(std::pair< T, U > const &p)
void addTkCaloStateInfo(uint32_t t, const std::pair< math::XYZVectorD, math::XYZTLorentzVectorD > &p)
const TrackContainer * trackContainer() const
std::vector< TrackWithHistory * > TrackContainer
std::vector< std::pair< int, int > > idsave
unsigned int trackID() const
bool trackExists(unsigned int i) const
void cleanTracksWithHistory()
std::pair< int, math::XYZVectorD > MapVertexPosition
this map contains association between vertex number and position
MotherParticleToVertexMap m_vertexMap
int giveMotherNeeded(int i) const
void storeTracks(G4SimEvent *simEvent)
int idSavedTrack(int) const
std::map< int, MapVertexPositionVector > MotherParticleToVertexMap
void saveTrackAndItsBranch(TrackWithHistory *)
this saves a track and all its parents looping over the non ordered vector
std::vector< std::pair< int, math::XYZVectorD > > MapVertexPositionVector
void setLHCTransportLink(const edm::LHCTransportLinkContainer *thisLHCTlink)
std::vector< LHCTransportLink > LHCTransportLinkContainer
const edm::LHCTransportLinkContainer * theLHCTlink
void reallyStoreTracks(G4SimEvent *simEvent)
std::vector< std::pair< int, int > > ancestorList
void setCollapsePrimaryVertices(bool iSet)
const SimTrackManager & operator=(const SimTrackManager &)
bool operator()(TrackWithHistory *&p, const unsigned int &i) const
MotherParticleToVertexMap VertexMap
bool operator()(TrackWithHistory *trk1, TrackWithHistory *trk2) const