#include "AliMpDEIterator.h"
#include "AliMpDEManager.h"
#include "AliMpManuList.h"
-#include "AliMpSegFactory.h"
-#include "AliMpStationType.h"
+#include "AliMpSegmentation.h"
#include "AliMpVSegmentation.h"
+#include "AliMpStationType.h"
#include "Riostream.h"
#include "TH1F.h"
#include "TList.h"
#endif
//_____________________________________________________________________________
-Int_t countChannels(AliMpVSegmentation& seg)
+Int_t countChannels(const AliMpVSegmentation& seg)
{
Int_t n(0);
return n;
}
-//_____________________________________________________________________________
-AliMpSegFactory* segFactory()
-{
- static AliMpSegFactory* sf = new AliMpSegFactory();
- return sf;
-}
-
//_____________________________________________________________________________
void countChannels()
{
Int_t de = it.CurrentDE();
for ( Int_t cathode = 0; cathode < 2; ++cathode )
{
- AliMpVSegmentation* seg = segFactory()->CreateMpSegmentation(de,cathode);
+ const AliMpVSegmentation* seg
+ = AliMpSegmentation::Instance()->GetMpSegmentation(de,cathode);
n += countChannels(*seg);
}
it.Next();
Int_t detElemId = p->GetFirst();
Int_t manuId = p->GetSecond();
- AliMpVSegmentation* seg =
- segFactory()->CreateMpSegmentationByElectronics(detElemId,manuId);
+ const AliMpVSegmentation* seg =
+ AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(detElemId,manuId);
AliMUONVCalibParam* value =
dynamic_cast<AliMUONVCalibParam*>(store.Get(detElemId,manuId));
Int_t manuId = p->GetSecond();
Int_t station = AliMpDEManager::GetChamberId(detElemId);
- AliMpVSegmentation* seg =
- segFactory()->CreateMpSegmentationByElectronics(detElemId,manuId);
+ const AliMpVSegmentation* seg =
+ AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(detElemId,manuId);
AliMUONVCalibParam* value =
dynamic_cast<AliMUONVCalibParam*>(store.Get(detElemId,manuId));
Int_t manuId = p->GetSecond();
- AliMpVSegmentation* seg =
- segFactory()->CreateMpSegmentationByElectronics(detElemId,manuId);
+ const AliMpVSegmentation* seg =
+ AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(detElemId,manuId);
for ( Int_t manuChannel = 0; manuChannel < nChannels; ++manuChannel )
{
Int_t detElemId = p->GetFirst();
Int_t manuId = p->GetSecond();
- AliMpVSegmentation* seg =
- segFactory()->CreateMpSegmentationByElectronics(detElemId,manuId);
+ const AliMpVSegmentation* seg =
+ AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(detElemId,manuId);
for ( Int_t manuChannel = 0; manuChannel < nChannels; ++manuChannel )
{
Int_t detElemId = p->GetFirst();
Int_t manuId = p->GetSecond();
- AliMpVSegmentation* seg =
- segFactory()->CreateMpSegmentationByElectronics(detElemId,manuId);
+ const AliMpVSegmentation* seg =
+ AliMpSegmentation::Instance()->GetMpSegmentationByElectronics(detElemId,manuId);
for ( Int_t manuChannel = 0; manuChannel < nChannels; ++manuChannel )
{
#include "AliMUONTriggerCircuit.h"
#include "AliMUONTriggerCrateStore.h"
+#include "AliMpSegmentation.h"
#include "AliMpVSegmentation.h"
#include "AliMpIntPair.h"
#include "AliMpDEManager.h"
-#include "AliMpSegFactory.h"
#endif
void MUONkine(Int_t event2Check=0, char * filename="galice.root")
Int_t ievent, nevents;
nevents = RunLoader->GetNumberOfEvents();
AliMUONDigit * mDigit =0x0;
- AliMpVSegmentation * segbend = 0x0;
- AliMpVSegmentation * segnonbend = 0x0;
+ const AliMpVSegmentation * segbend = 0x0;
+ const AliMpVSegmentation * segnonbend = 0x0;
AliMpIntPair pad(0,0);
Int_t dEoccupancy_bending[14][26];
Int_t ichamber, nchambers,idetele, detele, ix, iy;
nchambers = AliMUONConstants::NCh(); ;
- AliMpSegFactory factory;
-
for (ichamber=0; ichamber<nchambers; ichamber++) {
cHchannels_bending[ichamber]=0;
cHchannels_nonbending[ichamber]=0;
dEoccupancy_nonbending[ichamber][idetele]=0;
if ( AliMpDEManager::IsValidDetElemId(detele) ) {
- segbend = factory.CreateMpSegmentation(detele, 0);
- segnonbend = factory.CreateMpSegmentation(detele, 1);
+ segbend = AliMpSegmentation::Instance()->GetMpSegmentation(detele, 0);
+ segnonbend = AliMpSegmentation::Instance()->GetMpSegmentation(detele, 1);
if (AliMpDEManager::GetPlaneType(detele, 0) != kBendingPlane ) {
- AliMpVSegmentation* tmp = segbend;
+ const AliMpVSegmentation* tmp = segbend;
segbend = segnonbend;
segnonbend = tmp;
}
printf(">>Spectrometer has %7d channels in bending and %7d channels in nonbending \n",
totalchannels_bending, totalchannels_nonbending);
- factory.DeleteSegmentations();
-
ievent=event2Check;
printf(">>> Event %d \n",ievent);
RunLoader->GetEvent(ievent);
AliMUONTriggerCrateStore* crateManager = new AliMUONTriggerCrateStore();
crateManager->ReadFromFile();
- AliMpSegFactory* segFactory = new AliMpSegFactory();
-
AliMUONGeometryTransformer* transformer = new AliMUONGeometryTransformer(kFALSE);
transformer->ReadGeometryData("volpath.dat", "geometry.root");
for (Int_t i = 0; i < AliMUONConstants::NTriggerCircuit(); i++) {
AliMUONTriggerCircuit* c = new AliMUONTriggerCircuit();
- c->SetSegFactory(segFactory);
c->SetTransformer(transformer);
c->Init(i,*crateManager);
TClonesArray& circuit = *triggerCircuit;
MUONLoader->UnloadRecPoints();
delete crateManager;
- delete segFactory;
delete transformer;
delete triggerCircuit;