Collision detection on values from objects

I’m suffering a bit from a month away from programming - I need some help in collision detection between some objects (their y axis value) a ‘cloth’ made from morethanlogics traer library

I generate a set of scrollevent objects like this:

void testApp::gen_random_events(int n, int tempHipX)  
	hipx = tempHipX;  
	for(int i=0; i<n; i++)  
		Scrollevent e = Scrollevent();  
		e.l=3+ofRandom(0, 10);  
		e.h=5+ofRandom(0, 15);  
		e.x=ofRandom(0, hipx-(e.l*unitsize));  
		e.y=e.h+ofRandom(0, ofGetHeight()-e.h);  
		std::string st;  
		std::stringstream outw;  
		outw << i;  
		st = outw.str();;  
		e.col.r= ofRandom(0, 255);  
		e.col.g= ofRandom(0, 255);  
		e.col.b = ofRandom(0, 255);  
		e.col.a = 255;  

These are drawn like this:

for(int i=0; i<test; i++)  
		Scrollevent e= arrEvent[i];  
		e.draw(lpos, unitsize);  

Elsewhere, I have an instance of a cloth object, and I want to collision detect the cloth hitting the Y values of all the scrollevent objects. I thought this might work:

void handleBoundaryCollisions(Particle* p) {  
		if (p->getPosition().y == ((testApp*)ofGetAppPtr())->e.y){  
//test to set colour and shape  
			ofSetColor(255, 0, 0);  
			ofEllipse(100, 100, 30, 30);  
		 p->getVelocity().y *= -.9f;          
		 p->getPosition().set(MIN(MAX(p->getPosition().x, 0), ofGetWidth()), MIN(MAX(p->getPosition().y, 0), ofGetHeight()), 0);  

as a function called from within where the cloth is drawn, but to no avail.
I am getting something fundamentally wrong here, is there enough here for anyone to give me any tips or help?

Hi All
still not making much headway with this- but wondered if anyone had any thoughts at all,