fRegionSize(0x0),
fSubRegionSize(0x0),
fPatchSize(0x0),
-fPatches( new TClonesArray("AliEMCALTriggerPatch",10) )
+fPatches(0x0)
{
}
fPatchSize( new TVector2() ),
fPatches( new TClonesArray("AliEMCALTriggerPatch",10) )
{
+ // Ctor
+
fRegion = (int**)malloc( (int)fRegionSize->X() * sizeof( int* ) );
if (!fRegion) printf("Error: malloc could not allocate %d bytes for fRegion\n",
//_______________
AliEMCALTriggerBoard::~AliEMCALTriggerBoard()
{
+ // Dtor
+
for (Int_t i=0;i<fRegionSize->X();i++)
{
if (fRegion[i]) {free(fRegion[i]); fRegion[i] = 0;}
//_______________
void AliEMCALTriggerBoard::SlidingWindow(TriggerType_t type, Int_t thres, Int_t time)
{
- //
+ // Sliding window
+
Int_t ipatch = 0;
for (Int_t i=0; i<=int(fRegionSize->X()-fPatchSize->X()*fSubRegionSize->X()); i+=int(fSubRegionSize->X()))
//__________
void AliEMCALTriggerBoard::Scan()
{
- //
+ // Dump
+
cout << " ";
for (Int_t i=0; i<int(fRegionSize->X()); i++) printf("%8d ",i);
cout << "\n";
*/
#include "AliEMCALTriggerTypes.h"
-
#include "TVector2.h"
class TClonesArray;
virtual Int_t** Map() {return fMap;}
virtual void Map(Int_t arr[][64], const TVector2& Size) {for (Int_t i = 0; i < Size.X(); i++) for (Int_t j = 0; j < Size.Y(); j++) arr[i][j] = fMap[i][j];}
-private:
-
- AliEMCALTriggerBoard(const AliEMCALTriggerBoard& rhs); // NOT implemented
- AliEMCALTriggerBoard& operator=(const AliEMCALTriggerBoard& rhs); // NOT implemented
-
protected:
Int_t** fRegion; //!
TVector2* fPatchSize; //! in subregion unit
TClonesArray* fPatches; //!
+private:
+
+ AliEMCALTriggerBoard(const AliEMCALTriggerBoard& rhs); // NOT implemented
+ AliEMCALTriggerBoard& operator=(const AliEMCALTriggerBoard& rhs); // NOT implemented
+
ClassDef(AliEMCALTriggerBoard,1)
};
ClassImp(AliEMCALTriggerDCSConfig)
//_____________________________________________________________________________
-AliEMCALTriggerDCSConfig::AliEMCALTriggerDCSConfig() : TObject()
+AliEMCALTriggerDCSConfig::AliEMCALTriggerDCSConfig(const char *name) : TObject()
,fTRUArr(new TClonesArray("AliEMCALTriggerTRUDCSConfig",32))
,fSTUObj(new AliEMCALTriggerSTUDCSConfig())
{
AliEMCALTriggerDCSConfig::~AliEMCALTriggerDCSConfig()
{
//
+ // Dtor
//
- //
+
delete fTRUArr; fTRUArr = 0x0;
delete fSTUObj; fSTUObj = 0x0;
}
{
public:
- AliEMCALTriggerDCSConfig();
+ AliEMCALTriggerDCSConfig(const char *name = "");
virtual ~AliEMCALTriggerDCSConfig();
void SetTRUArr(TClonesArray* const ta) { fTRUArr = ta; }
AliEMCALTriggerDCSConfig(const AliEMCALTriggerDCSConfig &cd); // Not implemented
AliEMCALTriggerDCSConfig &operator=(const AliEMCALTriggerDCSConfig &cd); // Not implemented
- TClonesArray* fTRUArr; //
- AliEMCALTriggerSTUDCSConfig* fSTUObj; //
+ TClonesArray* fTRUArr; // TRU array
+ AliEMCALTriggerSTUDCSConfig* fSTUObj; // STU
ClassDef(AliEMCALTriggerDCSConfig,1) //
};
const AliEMCALTriggerDCSConfig* AliEMCALTriggerDCSConfigDB::GetTriggerDCSConfig()
{
//
- //
+ // Get DCS config
//
const AliEMCALTriggerDCSConfig* dcsConf = dynamic_cast<const AliEMCALTriggerDCSConfig*>(GetCachedCDBObject(kIDTriggerConfig));
void AliEMCALTriggerDCSConfigDB::GetSTUSegmentation(Int_t ssg[], Int_t spg[], Int_t ssj[], Int_t spj[])
{
//
- //
+ // Get STU segmentation
//
const AliEMCALTriggerDCSConfig* dcsConf = dynamic_cast<const AliEMCALTriggerDCSConfig*>(GetCachedCDBObject(kIDTriggerConfig));
if(dcsConf){
//_____________________________________________________________________________
Int_t AliEMCALTriggerDCSConfigDB::GetTRUSegmentation(Int_t iTRU)
{
- //
+ // Get TRU segmentation
+
const AliEMCALTriggerDCSConfig* dcsConf = dynamic_cast<const AliEMCALTriggerDCSConfig*>(GetCachedCDBObject(kIDTriggerConfig));
if(dcsConf){
AliEMCALTriggerTRUDCSConfig* truConf = dcsConf->GetTRUDCSConfig(iTRU);
Int_t AliEMCALTriggerDCSConfigDB::GetTRUGTHRL0(Int_t iTRU)
{
//
- //
+ // Get TRU L0 threshold
//
const AliEMCALTriggerDCSConfig* dcsConf = dynamic_cast<const AliEMCALTriggerDCSConfig*>(GetCachedCDBObject(kIDTriggerConfig));
if(dcsConf){
fL1TriggerType(),
fL1DataDecoded(0)
{
- //
+ // Ctor
+
for (Int_t i = 0; i < 2; i++)
{
fL0Patches[i] = new TClonesArray("AliEMCALTriggerPatch");
//_____________
AliEMCALTriggerData::~AliEMCALTriggerData()
{
- //
+ // Dtor
+
for (Int_t i = 0; i < 2; i++)
{
if ( fL0Patches[i]) fL0Patches[i]->Delete();
//_____________
void AliEMCALTriggerData::SetL0Region(Int_t i, const Int_t**& region)
{
- //
+ // L0 region
+
if (i < 0 || i > 31)
{
AliError("Bad index!");
//_____________
void AliEMCALTriggerData::GetPatches(TriggerType_t type, Int_t i, TClonesArray& patches) const
{
- //
+ // List of patches
+
if (i < 0 || i > 1)
{
AliError("Bad index!");
//_____________
TClonesArray* AliEMCALTriggerData::GetPatches(TriggerType_t type, Int_t i) const
{
- //
+ // List of patches
+
if (i < 0 || i > 1)
{
AliError("Bad index!");
//_____________
void AliEMCALTriggerData::SetPatches(TriggerType_t type, Int_t i, const TClonesArray& patches)
{
- //
+ // Set list of patches
+
if (i < 0 || i > 1)
{
AliError("Bad index!");
//_____________
void AliEMCALTriggerData::SetL1Region(Int_t i, Int_t**& region)
{
- //
+ // Set L1 region
+
if (i < 0 || i > 1)
{
AliError("Bad index!");
//_____________
void AliEMCALTriggerData::GetL1Region(Int_t i, Int_t arr[][64]) const
{
- //
+ // Get L1 region
+
if (i < 0 || i > 1)
{
AliError("Bad index!");
//_____________
void AliEMCALTriggerData::Scan() const
{
- //
+ // Dump
+
TIterator* nP;
printf("L0:\n");
//_____________
void AliEMCALTriggerData::Reset()
{
- //
+ // Reset
+
for (Int_t i = 0; i < 2; i++)
{
if ( fL0Patches[i]) fL0Patches[i]->Delete();
AliEMCALTriggerData(const AliEMCALTriggerData& rhs); // NOT implemented
AliEMCALTriggerData& operator=(const AliEMCALTriggerData& rhs); // NOT implemented
- Int_t fMode; //
+ Int_t fMode; // Simulation/Raw
- Int_t fL0Trigger[2][32]; //
+ Int_t fL0Trigger[2][32]; // Triggering TRU
TClonesArray* fL0Patches[2]; // array of patches
Int_t fL1Region[2][48][64]; // STU FastOR
- Int_t fL1GammaThreshold; //
- Int_t fL1JetThreshold; //
+ Int_t fL1GammaThreshold; // L1-g threshold
+ Int_t fL1JetThreshold; // L1-j threshold
- Int_t fL1V0[2]; //
- Int_t fL1FrameMask; //
- Int_t fL1TriggerType[8]; //
+ Int_t fL1V0[2]; // V0 charges
+ Int_t fL1FrameMask; // Frame mask
+ Int_t fL1TriggerType[8]; // Trigger type
- Int_t fL1DataDecoded;
+ Int_t fL1DataDecoded; // Raw data decoded
ClassDef(AliEMCALTriggerData,2)
};
#include "AliEMCALTriggerPatch.h"
#include <TVector2.h>
-#include <TClonesArray.h>
namespace
{
fTRU(new TClonesArray("AliEMCALTriggerTRU",32)),
fSTU(0x0)
{
+ // Ctor
+
TVector2 rSize;
rSize.Set( 24., 4. );
//________________
AliEMCALTriggerElectronics::~AliEMCALTriggerElectronics()
{
- //
+ // Dtor
+
fTRU->Delete();
delete fSTU;
}
//__________________
void AliEMCALTriggerElectronics::Digits2Trigger(TClonesArray* digits, const Int_t V0M[], AliEMCALTriggerData* data)
{
- //
+ // Digits to trigger
+
AliEMCALGeometry* geom = 0x0;
AliRunLoader *rl = AliRunLoader::Instance();
//__________________
void AliEMCALTriggerElectronics::Reset()
{
- //
+ // Reset
+
TIter NextTRU(fTRU);
while ( AliEMCALTriggerTRU *TRU = (AliEMCALTriggerTRU*)NextTRU() ) TRU->Reset();
class AliRawReader;
class AliEMCALTriggerDCSConfig;
-class TTree;
class AliEMCALTriggerData;
class AliEMCALTriggerSTU;
class AliESDVZERO;
class AliEMCALTriggerTRU;
+class TTree;
class AliEMCALTriggerElectronics : public TObject
{
#ifndef ROOT_TObject
# include "TObject.h"
#endif
-
#include "TVector2.h"
class TArrayI;
AliEMCALTriggerPatch& operator=(const AliEMCALTriggerPatch& other); // Not implemented
- TVector2* fPosition;
- Int_t fSum;
- Int_t fTime;
- Int_t fPeaks;
+ TVector2* fPosition; // Position
+ Int_t fSum; // Amplitude
+ Int_t fTime; // Time
+ Int_t fPeaks; // Peaks (L0 only)
ClassDef(AliEMCALTriggerPatch,1)
};
fL0Times(),
fL1TimeSum(-1)
{
- //
+ // Ctor
+
for (Int_t i = 0; i < 10; i++) fL0Times[i] = -1;
}
//____________________________________________________________________________
AliEMCALTriggerRawDigit::~AliEMCALTriggerRawDigit()
{
- //
+ // Dtor
+
//delete [] fL0Times;
}
//____________________________________________________________________________
Bool_t AliEMCALTriggerRawDigit::SetL0Time(const Int_t i)
{
- //
+ // Set L0 times
+
for (Int_t j = 0; j < fNL0Times; j++)
{
if (i == fL0Times[j])
//____________________________________________________________________________
Bool_t AliEMCALTriggerRawDigit::GetL0Time(const Int_t i, Int_t& time) const
{
- //
+ // Get L0 times
+
if (i < 0 || i > fNL0Times)
{
AliError("Bad index!");
//____________________________________________________________________________
Bool_t AliEMCALTriggerRawDigit::GetL0Times(Int_t times[]) const
{
- //
+ // Get L0 times
+
for (Int_t i = 0; i < fNL0Times; i++) times[i] = fL0Times[i];
return kTRUE;
//____________________________________________________________________________
Int_t AliEMCALTriggerRawDigit::GetL0TimeSum(const Int_t time) const
{
- //
+ // Get L0 time sum
Int_t value = 0;
//____________________________________________________________________________
Int_t AliEMCALTriggerRawDigit::GetTriggerBit(const TriggerType_t type, const Int_t mode) const
{
- //
+ // Get trigger bit
+
Int_t shift = kTriggerTypeEnd * mode;
Int_t mask = 1 << type;
//____________________________________________________________________________
void AliEMCALTriggerRawDigit::Print(const Option_t* /*opt*/) const
{
- //
+ // Dump
+
printf("===\n| Digit id: %4d / %d Time Samples: \n",fId,fNSamples);
for (Int_t i=0; i < fNSamples; i++)
{
AliEMCALTriggerRawDigit(const AliEMCALTriggerRawDigit &cd); // Not implemented
AliEMCALTriggerRawDigit &operator=(const AliEMCALTriggerRawDigit &cd); // Not implemented
- Int_t fTriggerBits;
- Int_t fNL0Times;
- Int_t fL0Times[10];
+ Int_t fTriggerBits; // Trigger bits
+ Int_t fNL0Times; // N L0 times
+ Int_t fL0Times[10]; // L0 times
- Int_t fL1TimeSum;
+ Int_t fL1TimeSum; // L1 time sum
ClassDef(AliEMCALTriggerRawDigit,1)
};
//_______________
void AliEMCALTriggerRawDigitMaker::SetIO(AliRawReader* reader, AliCaloRawStreamV3& in, AliEMCALTriggerSTURawStream& inSTU, TClonesArray* digits, AliEMCALTriggerData* data)
{
- //
+ // Connect I/O
+
fRawReader = reader;
fCaloRawStream = ∈
fRawDigits = digits;
//_______________
void AliEMCALTriggerRawDigitMaker::Add(const std::vector<AliCaloBunchInfo> &bunchlist)
{
- //
+ // Add bunch list
+
Int_t hwAdd = fCaloRawStream->GetHWAddress();
UShort_t iRCU = fCaloRawStream->GetDDLNumber() % 2; // 0/1
UShort_t iBranch = ( hwAdd >> 11 ) & 0x1; // 0/1
//_______________
void AliEMCALTriggerRawDigitMaker::PostProcess()
{
- //
+ // Post process digits
+
AliDebug(2,"Start post processing the raw digit maker");
Int_t idx;
fRawReader->Reset();
fRawReader->Select("EMCAL",44);
- Bool_t STUin = kFALSE;
+ Bool_t isSTUin = kFALSE;
Int_t nSubEv = fRawReader->GetEvent()->GetNSubEvents();
for ( Int_t iSubEv=0; iSubEv<nSubEv; iSubEv++)
{
- AliRawVEvent *SubEv = ((AliRawEvent*)fRawReader->GetEvent())->GetSubEvent(iSubEv);
- if ( !SubEv ) continue;
+ AliRawVEvent *subEv = ((AliRawEvent*)fRawReader->GetEvent())->GetSubEvent(iSubEv);
+ if ( !subEv ) continue;
- for (Int_t iEquip = 0; iEquip < SubEv->GetNEquipments(); iEquip++)
+ for (Int_t iEquip = 0; iEquip < subEv->GetNEquipments(); iEquip++)
{
- Int_t eqId = SubEv->GetEquipment(iEquip)->GetEquipmentHeader()->GetId();
+ Int_t eqId = subEv->GetEquipment(iEquip)->GetEquipmentHeader()->GetId();
- if (eqId == kSTUEqId) STUin = kTRUE;
+ if (eqId == kSTUEqId) isSTUin = kTRUE;
}
}
fRawReader->Reset();
- if (STUin && fSTURawStream && fSTURawStream->ReadPayLoad())
+ if (isSTUin && fSTURawStream && fSTURawStream->ReadPayLoad())
{
fTriggerData->SetL1DataDecoded(1);
//_______________
void AliEMCALTriggerRawDigitMaker::Reset()
{
- //
+ // Reset
+
for (Int_t i = 0; i < 3072; i++) fRawDigitIndex[i] = -1;
}
virtual void PostProcess();
virtual void Reset();
-private:
-
- AliEMCALTriggerRawDigitMaker(const AliEMCALTriggerRawDigitMaker& rhs); // NOT implemented
- AliEMCALTriggerRawDigitMaker& operator=(const AliEMCALTriggerRawDigitMaker& rhs); // NOT implemented
-
protected:
- AliEMCALGeometry* fGeometry;
- AliRawReader* fRawReader;
- AliCaloRawStreamV3* fCaloRawStream;
- AliEMCALTriggerSTURawStream* fSTURawStream;
- TClonesArray* fRawDigits;
- AliCaloRawAnalyzerFakeALTRO* fRawAnalyzer;
- AliEMCALTriggerDCSConfigDB* fDCSConfig;
- AliEMCALTriggerData* fTriggerData;
+ AliEMCALGeometry* fGeometry; // Geometry
+ AliRawReader* fRawReader; // Raw reader
+ AliCaloRawStreamV3* fCaloRawStream; // Calo raw stream
+ AliEMCALTriggerSTURawStream* fSTURawStream; // STU raw stream
+ TClonesArray* fRawDigits; // Raw digits
+ AliCaloRawAnalyzerFakeALTRO* fRawAnalyzer; // Raw analyzer
+ AliEMCALTriggerDCSConfigDB* fDCSConfig; // DCS config
+ AliEMCALTriggerData* fTriggerData; // Trigger data
- Int_t fRawDigitIndex[3072];
+ Int_t fRawDigitIndex[3072]; // Raw digit indexes
+
+private:
+
+ AliEMCALTriggerRawDigitMaker(const AliEMCALTriggerRawDigitMaker& rhs); // NOT implemented
+ AliEMCALTriggerRawDigitMaker& operator=(const AliEMCALTriggerRawDigitMaker& rhs); // NOT implemented
ClassDef(AliEMCALTriggerRawDigitMaker,1)
};
,fJetTh(0)
,fDCSConfig(0x0)
{
- //
+ // Ctor
}
//_______________
,fJetTh(0)
,fDCSConfig(dcsConf)
{
- //
+ // Ctor
}
//_______________
AliEMCALTriggerSTU::~AliEMCALTriggerSTU()
{
- //
+ // Dtor
}
//_______________
Int_t AliEMCALTriggerSTU::GetRawData() const
{
- //
+ // Get raw data
+
return fDCSConfig->GetRawData();
}
//_______________
void AliEMCALTriggerSTU::Build( TString& str, Int_t iTRU, Int_t** M, const TVector2* rSize )
{
- //
+ // Build
+
str.ToLower();
Int_t ix = (iTRU % 2) ? 24 : 0;
//_______________
void AliEMCALTriggerSTU::L1(TriggerType_t type)
{
- //
+ // L1
+
TVector2 s1, s2, s3, s4;
fDCSConfig->GetSegmentation(s1, s2, s3, s4);
//________________
void AliEMCALTriggerSTU::PrintADC( TriggerType_t type, TVector2& pos, TVector2& idx )
{
- //
+ // Dump
+
Int_t ix = (Int_t) (( pos.X() + fPatchSize->X() ) * fSubRegionSize->X());
Int_t iy = (Int_t) (( pos.Y() + fPatchSize->Y() ) * fSubRegionSize->Y());
//___________
void AliEMCALTriggerSTU::PatchGenerator(const TClonesArray* lpos, Int_t val)
{
+ // Patch generator
+
ZeroRegion();
Int_t vTRU[32][24][4] ;//= {0};
//___________
void AliEMCALTriggerSTU::ComputeThFromV0(const Int_t M[])
{
- //
+ // Compute threshold from V0
+
if (!(M[0] + M[1])) AliWarning("V0A + V0C is null!"); // 0/1: V0C/V0A
//___________
void AliEMCALTriggerSTU::SetThreshold(TriggerType_t type, Int_t v)
{
+ // Set threshold
+
switch (type)
{
case kL1Gamma:
//__________
void AliEMCALTriggerSTU::Reset()
{
+ // Reset
+
fPatches->Delete();
}
private:
- Int_t fGammaTh;
- Int_t fJetTh;
+ Int_t fGammaTh; // Gamma threshold
+ Int_t fJetTh; // Jet threshold
- AliEMCALTriggerSTUDCSConfig* fDCSConfig;
+ AliEMCALTriggerSTUDCSConfig* fDCSConfig; // DCS config
ClassDef(AliEMCALTriggerSTU,1)
};
*/
#include "AliEMCALTriggerSTUDCSConfig.h"
+#include "TVector2.h"
ClassImp(AliEMCALTriggerSTUDCSConfig)
//_____________________________________________________________________________
void AliEMCALTriggerSTUDCSConfig::GetSegmentation(TVector2& v1, TVector2& v2, TVector2& v3, TVector2& v4) const
{
- //
+ // Get Segmentation
+
switch (fFw)
{
case 2223:
*/
#include "TObject.h"
-#include "TVector2.h"
+
+class TVector2;
class AliEMCALTriggerSTUDCSConfig : public TObject
{
private:
- Int_t fGA; //
- Int_t fGB; //
- Int_t fGC; //
- Int_t fJA; //
- Int_t fJB; //
- Int_t fJC; //
- Int_t fGetRawData; //
- Int_t fRegion; //
- Int_t fFw; //
+ Int_t fGA; // GA
+ Int_t fGB; // GB
+ Int_t fGC; // GC
+ Int_t fJA; // JA
+ Int_t fJB; // JB
+ Int_t fJC; // JC
+ Int_t fGetRawData; // GetRawData
+ Int_t fRegion; // Region
+ Int_t fFw; // Fw
ClassDef(AliEMCALTriggerSTUDCSConfig,1) //
};
}
//_____________________________________________________________________________
-UShort_t AliEMCALTriggerSTURawStream::GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C)
+UShort_t AliEMCALTriggerSTURawStream::GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C) const
{
- ULong64_t V0sum = V0A + V0C;
+ // Get threshold
+ ULong64_t v0sum = V0A + V0C;
- ULong64_t sqrV0 = V0sum * V0sum;
+ ULong64_t sqrV0 = v0sum * v0sum;
sqrV0 *= A;
sqrV0 >>= 32;
- V0sum *= B;
+ v0sum *= B;
- V0sum >>= 16;
+ v0sum >>= 16;
- return (UShort_t)(sqrV0 + V0sum + C);
+ return (UShort_t)(sqrV0 + v0sum + C);
}
AliEMCALTriggerSTURawStream(const AliEMCALTriggerSTURawStream& rhs);
AliEMCALTriggerSTURawStream& operator = (const AliEMCALTriggerSTURawStream& rhs);
- UShort_t GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C);
+ UShort_t GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C) const;
AliRawReader* fRawReader; // object for reading the raw data
AliEMCALTriggerTRU::AliEMCALTriggerTRU() : AliEMCALTriggerBoard(),
fDCSConfig(0x0)
{
- //
+ // Ctor
+
for (Int_t i=0;i<96;i++) for (Int_t j=0;j<256;j++) fADC[i][j] = 0;
}
AliEMCALTriggerBoard(rSize),
fDCSConfig(dcsConf)
{
- //
+ // Ctor
+
for (Int_t i=0;i<96;i++) for (Int_t j=0;j<256;j++) fADC[i][j] = 0;
TVector2 size;
//________________
AliEMCALTriggerTRU::~AliEMCALTriggerTRU()
{
- //
+ // Dtor
}
//________________
void AliEMCALTriggerTRU::ShowFastOR(Int_t iTimeWindow, Int_t iChannel)
{
- //
+ // Dump
+
Int_t iChanF, iChanL;
if (iChannel != -1) iChanF = iChanL = iChannel;
//________________
void AliEMCALTriggerTRU::Reset()
{
- //
+ // Reset
+
fPatches->Delete();
ZeroRegion();
AliEMCALTriggerTRU(const AliEMCALTriggerTRU& rhs);
AliEMCALTriggerTRU& operator=(const AliEMCALTriggerTRU& rhs);
- AliEMCALTriggerTRUDCSConfig* fDCSConfig;
+ AliEMCALTriggerTRUDCSConfig* fDCSConfig; // DCS config
Int_t fADC[96][256]; //! FIXME: Check the maximum number of samples
#ifndef ALIEMCALTRIGGERTYPES_H
#define ALIEMCALTRIGGERTYPES_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/*
+
+
+ Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
+ */
typedef enum {kL0 = 0, kL1Gamma, kL1Jet, kTriggerTypeEnd} TriggerType_t;